}
}
+/* Mark the thread's current buffer as not having an owner. This is
+ only ok to call when the thread is shutting down. The global lock
+ must be held when calling this function. */
+
+void
+release_buffer (thread)
+ struct thread_state *thread;
+{
+ if (!EQ (thread->m_current_buffer->owner, Qt))
+ {
+ thread->m_current_buffer->owner = Qnil;
+ pthread_cond_broadcast (&buffer_cond);
+ }
+}
+
/* Set the current buffer to B, and do not set windows_or_buffers_changed.
This is used by redisplay. */
extern void buffer_slot_type_mismatch P_ ((Lisp_Object, int)) NO_RETURN;
extern void fix_overlays_before P_ ((struct buffer *, EMACS_INT, EMACS_INT));
extern void mmap_set_vars P_ ((int));
+extern void release_buffer P_ ((struct thread_state *));
/* Get overlays at POSN into array OVERLAYS with NOVERLAYS elements.
If NEXTP is non-NULL, return next overlay there.