server: Remove the return value of the flush() method, it's not used.

This commit is contained in:
Alexandre Julliard 2007-03-27 16:51:44 +02:00
parent c16eb8efd9
commit df651875ad
5 changed files with 17 additions and 35 deletions

View File

@ -1763,10 +1763,9 @@ void default_fd_cancel_async( struct fd *fd )
} }
/* default flush() routine */ /* default flush() routine */
int no_flush( struct fd *fd, struct event **event ) void no_flush( struct fd *fd, struct event **event )
{ {
set_error( STATUS_OBJECT_TYPE_MISMATCH ); set_error( STATUS_OBJECT_TYPE_MISMATCH );
return 0;
} }
/* default get_file_info() routine */ /* default get_file_info() routine */

View File

@ -69,7 +69,7 @@ static unsigned int file_map_access( struct object *obj, unsigned int access );
static void file_destroy( struct object *obj ); static void file_destroy( struct object *obj );
static int file_get_poll_events( struct fd *fd ); static int file_get_poll_events( struct fd *fd );
static int file_flush( struct fd *fd, struct event **event ); static void file_flush( struct fd *fd, struct event **event );
static enum server_fd_type file_get_info( struct fd *fd, int *flags ); static enum server_fd_type file_get_info( struct fd *fd, int *flags );
static const struct object_ops file_ops = static const struct object_ops file_ops =
@ -227,16 +227,10 @@ static int file_get_poll_events( struct fd *fd )
return events; return events;
} }
static int file_flush( struct fd *fd, struct event **event ) static void file_flush( struct fd *fd, struct event **event )
{ {
int ret = 0, unix_fd = get_unix_fd( fd ); int unix_fd = get_unix_fd( fd );
if (unix_fd != -1 && fsync( unix_fd ) == -1) file_set_error();
if (unix_fd != -1)
{
ret = (fsync( unix_fd ) != -1);
if (!ret) file_set_error();
}
return ret;
} }
static enum server_fd_type file_get_info( struct fd *fd, int *flags ) static enum server_fd_type file_get_info( struct fd *fd, int *flags )

View File

@ -35,7 +35,7 @@ struct fd_ops
/* a poll() event occurred */ /* a poll() event occurred */
void (*poll_event)(struct fd *,int event); void (*poll_event)(struct fd *,int event);
/* flush the object buffers */ /* flush the object buffers */
int (*flush)(struct fd *, struct event **); void (*flush)(struct fd *, struct event **);
/* get file information */ /* get file information */
enum server_fd_type (*get_file_info)(struct fd *fd, int *flags); enum server_fd_type (*get_file_info)(struct fd *fd, int *flags);
/* queue an async operation */ /* queue an async operation */
@ -72,7 +72,7 @@ extern void fd_queue_async_timeout( struct fd *fd, const async_data_t *data, int
int count, const struct timeval *timeout ); int count, const struct timeval *timeout );
extern void default_fd_queue_async( struct fd *fd, const async_data_t *data, int type, int count ); extern void default_fd_queue_async( struct fd *fd, const async_data_t *data, int type, int count );
extern void default_fd_cancel_async( struct fd *fd ); extern void default_fd_cancel_async( struct fd *fd );
extern int no_flush( struct fd *fd, struct event **event ); extern void no_flush( struct fd *fd, struct event **event );
extern enum server_fd_type no_get_file_info( struct fd *fd, int *flags ); extern enum server_fd_type no_get_file_info( struct fd *fd, int *flags );
extern void no_queue_async( struct fd *fd, const async_data_t *data, int type, int count); extern void no_queue_async( struct fd *fd, const async_data_t *data, int type, int count);
extern void no_cancel_async( struct fd *fd ); extern void no_cancel_async( struct fd *fd );

View File

@ -136,7 +136,7 @@ static unsigned int pipe_map_access( struct object *obj, unsigned int access );
static void pipe_server_dump( struct object *obj, int verbose ); static void pipe_server_dump( struct object *obj, int verbose );
static struct fd *pipe_server_get_fd( struct object *obj ); static struct fd *pipe_server_get_fd( struct object *obj );
static void pipe_server_destroy( struct object *obj); static void pipe_server_destroy( struct object *obj);
static int pipe_server_flush( struct fd *fd, struct event **event ); static void pipe_server_flush( struct fd *fd, struct event **event );
static enum server_fd_type pipe_server_get_info( struct fd *fd, int *flags ); static enum server_fd_type pipe_server_get_info( struct fd *fd, int *flags );
static const struct object_ops pipe_server_ops = static const struct object_ops pipe_server_ops =
@ -170,7 +170,7 @@ static const struct fd_ops pipe_server_fd_ops =
static void pipe_client_dump( struct object *obj, int verbose ); static void pipe_client_dump( struct object *obj, int verbose );
static struct fd *pipe_client_get_fd( struct object *obj ); static struct fd *pipe_client_get_fd( struct object *obj );
static void pipe_client_destroy( struct object *obj ); static void pipe_client_destroy( struct object *obj );
static int pipe_client_flush( struct fd *fd, struct event **event ); static void pipe_client_flush( struct fd *fd, struct event **event );
static enum server_fd_type pipe_client_get_info( struct fd *fd, int *flags ); static enum server_fd_type pipe_client_get_info( struct fd *fd, int *flags );
static const struct object_ops pipe_client_ops = static const struct object_ops pipe_client_ops =
@ -517,20 +517,15 @@ static void check_flushed( void *arg )
} }
} }
static int pipe_server_flush( struct fd *fd, struct event **event ) static void pipe_server_flush( struct fd *fd, struct event **event )
{ {
struct pipe_server *server = get_fd_user( fd ); struct pipe_server *server = get_fd_user( fd );
if (!server) if (!server || server->state != ps_connected_server) return;
return 0;
if (server->state != ps_connected_server)
return 0;
/* FIXME: if multiple threads flush the same pipe, /* FIXME: if multiple threads flush the same pipe,
maybe should create a list of processes to notify */ maybe should create a list of processes to notify */
if (server->flush_poll) if (server->flush_poll) return;
return 0;
if (pipe_data_remaining( server )) if (pipe_data_remaining( server ))
{ {
@ -539,20 +534,16 @@ static int pipe_server_flush( struct fd *fd, struct event **event )
/* this kind of sux - /* this kind of sux -
there's no unix way to be alerted when a pipe becomes empty */ there's no unix way to be alerted when a pipe becomes empty */
server->event = create_event( NULL, NULL, 0, 0, 0 ); server->event = create_event( NULL, NULL, 0, 0, 0 );
if (!server->event) if (!server->event) return;
return 0;
add_timeout( &tv, 100 ); add_timeout( &tv, 100 );
server->flush_poll = add_timeout_user( &tv, check_flushed, server ); server->flush_poll = add_timeout_user( &tv, check_flushed, server );
*event = server->event; *event = server->event;
} }
return 0;
} }
static int pipe_client_flush( struct fd *fd, struct event **event ) static void pipe_client_flush( struct fd *fd, struct event **event )
{ {
/* FIXME: what do we have to do for this? */ /* FIXME: what do we have to do for this? */
return 0;
} }
static inline int is_overlapped( unsigned int options ) static inline int is_overlapped( unsigned int options )

View File

@ -64,7 +64,7 @@ static void serial_destroy(struct object *obj);
static int serial_get_poll_events( struct fd *fd ); static int serial_get_poll_events( struct fd *fd );
static void serial_poll_event( struct fd *fd, int event ); static void serial_poll_event( struct fd *fd, int event );
static enum server_fd_type serial_get_info( struct fd *fd, int *flags ); static enum server_fd_type serial_get_info( struct fd *fd, int *flags );
static int serial_flush( struct fd *fd, struct event **event ); static void serial_flush( struct fd *fd, struct event **event );
static void serial_queue_async( struct fd *fd, const async_data_t *data, int type, int count ); static void serial_queue_async( struct fd *fd, const async_data_t *data, int type, int count );
static void serial_cancel_async( struct fd *fd ); static void serial_cancel_async( struct fd *fd );
@ -297,14 +297,12 @@ static void serial_cancel_async( struct fd *fd )
async_terminate_queue( &serial->wait_q, STATUS_CANCELLED ); async_terminate_queue( &serial->wait_q, STATUS_CANCELLED );
} }
static int serial_flush( struct fd *fd, struct event **event ) static void serial_flush( struct fd *fd, struct event **event )
{ {
/* MSDN says: If hFile is a handle to a communications device, /* MSDN says: If hFile is a handle to a communications device,
* the function only flushes the transmit buffer. * the function only flushes the transmit buffer.
*/ */
int ret = (tcflush( get_unix_fd(fd), TCOFLUSH ) != -1); if (tcflush( get_unix_fd(fd), TCOFLUSH ) == -1) file_set_error();
if (!ret) file_set_error();
return ret;
} }
DECL_HANDLER(get_serial_info) DECL_HANDLER(get_serial_info)