diff options
| author | Jan D | 2010-09-26 18:20:01 +0200 |
|---|---|---|
| committer | Jan D | 2010-09-26 18:20:01 +0200 |
| commit | 3fad2ad22ee508b6926c71fb87d53728bbc8f240 (patch) | |
| tree | eaa1219476afef2e98a481aaa95c00d21436d86d /src/keyboard.c | |
| parent | 6303aba12277fcac6a597908fb047560cf7c0c3e (diff) | |
| download | emacs-3fad2ad22ee508b6926c71fb87d53728bbc8f240.tar.gz emacs-3fad2ad22ee508b6926c71fb87d53728bbc8f240.zip | |
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.
Diffstat (limited to 'src/keyboard.c')
| -rw-r--r-- | src/keyboard.c | 11 |
1 files changed, 0 insertions, 11 deletions
diff --git a/src/keyboard.c b/src/keyboard.c index 50cd49e54cd..1be6c2aad9d 100644 --- a/src/keyboard.c +++ b/src/keyboard.c | |||
| @@ -3522,12 +3522,6 @@ restore_getcjmp (jmp_buf temp) | |||
| 3522 | static int | 3522 | static int |
| 3523 | readable_events (int flags) | 3523 | readable_events (int flags) |
| 3524 | { | 3524 | { |
| 3525 | #ifdef HAVE_DBUS | ||
| 3526 | /* Check whether a D-Bus message has arrived. */ | ||
| 3527 | if (xd_pending_messages () > 0) | ||
| 3528 | return 1; | ||
| 3529 | #endif /* HAVE_DBUS */ | ||
| 3530 | |||
| 3531 | if (flags & READABLE_EVENTS_DO_TIMERS_NOW) | 3525 | if (flags & READABLE_EVENTS_DO_TIMERS_NOW) |
| 3532 | timer_check (1); | 3526 | timer_check (1); |
| 3533 | 3527 | ||
| @@ -6877,11 +6871,6 @@ get_input_pending (int *addr, int flags) | |||
| 6877 | void | 6871 | void |
| 6878 | gobble_input (int expected) | 6872 | gobble_input (int expected) |
| 6879 | { | 6873 | { |
| 6880 | #ifdef HAVE_DBUS | ||
| 6881 | /* Read D-Bus messages. */ | ||
| 6882 | xd_read_queued_messages (); | ||
| 6883 | #endif /* HAVE_DBUS */ | ||
| 6884 | |||
| 6885 | #ifdef SIGIO | 6874 | #ifdef SIGIO |
| 6886 | if (interrupt_input) | 6875 | if (interrupt_input) |
| 6887 | { | 6876 | { |