diff src/ChangeLog @ 110592:c06958da83b5

Add fd handling with callbacks to select, dbus needs it for async operation. * src/dbusbind.c: Include process.h. (dbus_fd_cb, xd_find_watch_fd, xd_toggle_watch) (xd_read_message_1): New functions. (xd_add_watch, xd_remove_watch): Call xd_find_watch_fd. Handle watch for both read and write. (Fdbus_init_bus): Also register xd_toggle_watch. (Fdbus_call_method_asynchronously, Fdbus_method_return_internal) (Fdbus_method_error_internal, Fdbus_send_signal): Remove call to dbus_connection_flush. (xd_read_message): Move most of the code to xd_read_message_1. Call xd_read_message_1 until status is COMPLETE. * src/keyboard.c (readable_events, gobble_input): Remove DBUS code. * src/process.c (gpm_wait_mask, max_gpm_desc): Remove. (write_mask): New variable. (max_input_desc): Renamed from max_keyboard_desc. (fd_callback_info): New variable. (add_read_fd, delete_read_fd, add_write_fd, delete_write_fd): New functions. (Fmake_network_process): FD_SET write_mask. (deactivate_process): FD_CLR write_mask. (wait_reading_process_output): Connecting renamed to Writeok. check_connect removed. check_write is new. Remove references to gpm. Use Writeok/check_write unconditionally (i.e. no #ifdef NON_BLOCKING_CONNECT) instead of Connecting. Loop over file descriptors and call callbacks in fd_callback_info if file descriptor is ready for I/O. (add_gpm_wait_descriptor): Just call add_keyboard_wait_descriptor. (delete_gpm_wait_descriptor): Just call delete_keyboard_wait_descriptor. (keyboard_bit_set): Use max_input_desc. (add_keyboard_wait_descriptor, delete_keyboard_wait_descriptor): Remove #ifdef subprocesses. Use max_input_desc. (init_process): Initialize write_mask and fd_callback_info. * src/process.h (add_read_fd, delete_read_fd, add_write_fd) (delete_write_fd): Declare.
author Jan D <jan.h.d@swipnet.se>
date Sun, 26 Sep 2010 18:20:01 +0200
parents 0995e4af573f
children 27428f586e5d
line wrap: on
line diff
--- a/src/ChangeLog	Sun Sep 26 17:30:44 2010 +0200
+++ b/src/ChangeLog	Sun Sep 26 18:20:01 2010 +0200
@@ -1,3 +1,43 @@
+2010-09-26  Jan Djärv  <jan.h.d@swipnet.se>
+
+	* process.h (add_read_fd, delete_read_fd, add_write_fd)
+	(delete_write_fd): Declare.
+
+	* process.c (gpm_wait_mask, max_gpm_desc): Remove.
+	(write_mask): New variable.
+	(max_input_desc): Renamed from max_keyboard_desc.
+	(fd_callback_info): New variable.
+	(add_read_fd, delete_read_fd, add_write_fd, delete_write_fd): New
+	functions.
+	(Fmake_network_process): FD_SET write_mask.
+	(deactivate_process): FD_CLR write_mask.
+	(wait_reading_process_output): Connecting renamed to Writeok.
+	check_connect removed.  check_write is new.  Remove references to
+	gpm.  Use Writeok/check_write unconditionally (i.e. no #ifdef
+	NON_BLOCKING_CONNECT) instead of Connecting.
+	Loop over file descriptors and call callbacks in fd_callback_info
+	if file descriptor is ready for I/O.
+	(add_gpm_wait_descriptor): Just call add_keyboard_wait_descriptor.
+	(delete_gpm_wait_descriptor): Just call delete_keyboard_wait_descriptor.
+	(keyboard_bit_set): Use max_input_desc.
+	(add_keyboard_wait_descriptor, delete_keyboard_wait_descriptor): Remove
+	#ifdef subprocesses. Use max_input_desc.
+	(init_process): Initialize write_mask and fd_callback_info.
+
+	* keyboard.c (readable_events, gobble_input): Remove DBUS code.
+
+	* dbusbind.c: Include process.h.
+	(dbus_fd_cb, xd_find_watch_fd, xd_toggle_watch)
+	(xd_read_message_1): New functions.
+	(xd_add_watch, xd_remove_watch): Call xd_find_watch_fd.  Handle
+	watch for both read and write.
+	(Fdbus_init_bus): Also register xd_toggle_watch.
+	(Fdbus_call_method_asynchronously, Fdbus_method_return_internal)
+	(Fdbus_method_error_internal, Fdbus_send_signal): Remove call
+	to dbus_connection_flush.
+	(xd_read_message):  Move most of the code to xd_read_message_1.
+	Call xd_read_message_1 until status is COMPLETE.
+
 2010-09-26  Dan Nicolaescu  <dann@ics.uci.edu>
 
 	* term.c: Do not include sys/ioctl.h, not needed.