Moved poll handling to the generic part of the server objects.
Fixed busy waiting on POLLERR events.
Merged struct client into struct thread.
diff --git a/server/registry.c b/server/registry.c
index b28a2ce..e7dd55f 100644
--- a/server/registry.c
+++ b/server/registry.c
@@ -106,17 +106,19 @@
static const struct object_ops key_ops =
{
- sizeof(struct key),
- key_dump,
- no_add_queue,
- NULL, /* should never get called */
- NULL, /* should never get called */
- NULL, /* should never get called */
- no_read_fd,
- no_write_fd,
- no_flush,
- no_get_file_info,
- key_destroy
+ sizeof(struct key), /* size */
+ key_dump, /* dump */
+ no_add_queue, /* add_queue */
+ NULL, /* remove_queue */
+ NULL, /* signaled */
+ NULL, /* satisfied */
+ NULL, /* get_poll_events */
+ NULL, /* poll_event */
+ no_read_fd, /* get_read_fd */
+ no_write_fd, /* get_write_fd */
+ no_flush, /* flush */
+ no_get_file_info, /* get_file_info */
+ key_destroy /* destroy */
};
@@ -322,7 +324,7 @@
static struct key *alloc_key( const WCHAR *name, time_t modif )
{
struct key *key;
- if ((key = (struct key *)alloc_object( &key_ops )))
+ if ((key = (struct key *)alloc_object( &key_ops, -1 )))
{
key->name = NULL;
key->class = NULL;