From 0100a6e5bea180aa938ad618d7ed853dd0b7ed10 Mon Sep 17 00:00:00 2001 From: Marcus Brinkmann Date: Thu, 27 Jun 2002 19:19:13 +0000 Subject: hurd/ 2002-06-26 Marcus Brinkmann * fs_notify.defs: Add MsgOption for send timeout. (dir_changed): Changed to simpleroutine. Change type of first argument to fs_notify_t. Add TICKNO argument. (file_changed): Likewise. * hurd_types.defs (fs_notify_t): New type. * hurd_types.h (fs_notify_t): Likewise. libdiskfs/ 2002-06-26 Marcus Brinkmann * Makefile (DIST_FILES): Variable removed. (MIGSTUBS): Use fs_notifyUser.o, not ourfs_notifyUser.o. * ourfs_notify.defs: File removed. * diskfs.h (struct node): New members DIRMOD_TICK and FILEMOD_TICK. * node-make.c (diskfs_make_node): Initialize DIRMOD_TICK and FILEMOD_TICK. * dir-chg.c: Include "fs_notify_U.h" instead "ourfs_notify_U.h". (diskfs_S_dir_notice_changes): Use new dir_changed invocation instead nowait_dir_changed. (diskfs_notice_dirchange): Likewise. Increase tick number. Ignore send timeout error. * file-chg.c: Include "fs_notify_U.h" instead "ourfs_notify_U.h". (diskfs_S_file_notice_changes): Use new file_changed invocation instead nowait_file_changed. (diskfs_notice_filechange): Likewise. Increase tick number. Ignore send timeout error. console/ 2002-06-27 Marcus Brinkmann * Makefile (MIGSTUBS): Add fs_notifyUser.o. (MIGSFLAGS): New variable. * console.c: Include "fs_notify_U.h". (struct modreq): New structure. (struct cons): New members DIRMOD_REQS and DIRMOD_TICK. (cons_notice_dirchange): New function. (vcons_lookup): Call cons_notice_dirchange. (netfs_S_dir_notice_changes): New function. (main): Initialize new members in CONS. * display.c (nowait_file_changed): Update to new interface (new argument TICKNO). (do_mach_notify_msg_accepted): Call nowait_file_changed with new argument. (display_notice_changes): Likewise. (display_notice_filechange): Likewise. --- hurd/fs_notify.defs | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) (limited to 'hurd/fs_notify.defs') diff --git a/hurd/fs_notify.defs b/hurd/fs_notify.defs index ce53eb44..3a30fe6d 100644 --- a/hurd/fs_notify.defs +++ b/hurd/fs_notify.defs @@ -25,22 +25,31 @@ subsystem fs_notify 20500; FS_NOTIFY_IMPORTS #endif +/* For maximum robustness, the server must not wait for the client to + receive the notification message. This is achieved by setting a + send timeout (XXX which is implicitely 0 with MACH_MSG_TIMEOUT_NONE). */ +MsgOption MACH_SEND_TIMEOUT; /* This is sent by a filesystem (after being requested with dir_notice_changes) every time a directory is changed. CHANGE identifies the sort of change that has occurred (see hurd_types.h); - NAME is the name that was changed. */ -routine dir_changed ( - notify_port: mach_port_t; + NAME is the name that was changed. TICKNO is a sequential number + that allows the client to verify that it got all notifications. */ +simpleroutine dir_changed ( + notify_port: fs_notify_t; + tickno: natural_t; change: dir_changed_type_t; name: string_t); /* This is sent by a filesystem (after being requested with file_notice_changes) every time a file or its stat info is changed. CHANGE identifies the sort of change that has occurred (see hurd_types.h); - START and END identify the affected regions of the file's data. */ -routine file_changed ( - notify_port: mach_port_t; + START and END identify the affected regions of the file's data. + TICKNO is a sequential number that allows the client to verify that + it got all notifications. */ +simpleroutine file_changed ( + notify_port: fs_notify_t; + tickno: natural_t; change: file_changed_type_t; start: loff_t; end: loff_t); -- cgit v1.2.3