Wine on AIX 5.2 (PowerPC)

Geoff Hart ghart at siemens-emis.com
Fri Dec 30 21:27:19 CST 2005


Hi All,

Not sure if this is the correct mailing list, please redirect me if not.

My goal is to port some Windows apps to AIX, so I decided to take as
much Wine (winelib) as I could to help me.  Initially I thought only
a small portion would be suitable, but after a few weeks of work I have
all the dlls/libs compiled (as simple AIX .so's) and because I'm quite
naive about Wine internals, I went for wineserver also.

My first question is: has anyone tried this before?  I've been googling
endlessly, and haven't found a single mention (unfortunately, "wine"
and "aix" keeps trying to find French drinks).  If anyone has, or anyone
is interested in my (hacky) attempt, please email me directly (I try to
keep up on this list, but I don't do very well).

I wanted to avoid the "wine" loader, so I made a pseudo-main like:

int main( int argc, char *argv[] ) {
    char error[1024];
    int i;

    if (wine_main_preload_info) {
        for (i = 0; wine_main_preload_info[i].size; i++)
            wine_mmap_add_reserved_area( wine_main_preload_info[i].addr,
                                         wine_main_preload_info[i].size );
    }

    AIX_set_pthread_funcs (); /* sets up thread function call table */
    wine_thread_init ();          /* thread initialization stuff */
    process_init ();        /* does a bunch of .exe initializations */
    WinMain (0,0,0,0);
}

Amazingly, after building one of our simpler Windows clients, I get:

hac1dev:ghart$ ./simpleClient
err:ntdll:critsection.c 309: section f0b82b58 "virtual.c: csVirtual" 
wait timed out in thread 0009, blocked by 0000, retrying (60 sec)
err:ntdll:critsection.c 309: section f0b7ad50 "exception.c: 
vectored_handlers_section" wait timed out in thread 0009, blocked by 
0000, retrying (60 sec)
<Ctrl-C Killed>

That last line would repeat every 60 seconds or so.  The server reports:

hac1dev:ghart$ wineserver -f -p -d1000
sock_init: shutdown() causes EOF
wineserver: starting (pid=109454)
Create key \\Machine
Create key \\User\\.Default
Create key \\User\\S-1-5-4
0008: *fd* 0 -> 17
0009: *fd* 6 <- 17
0009: *fd* 8 <- 18
0009: init_thread( unix_pid=107466, unix_tid=1, teb=30000000, 
peb=f0b99118, entry=0, ldt_copy=f0b0dec8, reply_fd=6, wait_fd=8, 
debug_level=0 )
0009: init_thread() = 0 { pid=0008, tid=0009, info_size=0, 
server_start=1135996659, version=199 }
0009: create_semaphore( access=001f0003, attributes=00000000, 
initial=00000000, max=00000001, name=L"" )
0009: create_semaphore() = 0 { handle=c }
0009: select( flags=12, cookie=2ff1fab4, signal=0, 
timeout=1135996667.980786 (+4.999878), handles={c} )
0009: select() = PENDING
0009: *wakeup* signaled=258 cookie=2ff1fab4
0009: select( flags=12, cookie=2ff1fab4, signal=0, 
timeout=1135996727.982002 (+59.999784), handles={c} )
0009: select() = PENDING
Not saving clean key \\Machine
Not saving clean key \\User\\.Default
Not saving clean key \\User\\S-1-5-4
Not saving clean key \\Machine
Not saving clean key \\User\\.Default
Not saving clean key \\User\\S-1-5-4
0009: *wakeup* signaled=258 cookie=2ff1fab4
0009: create_semaphore( access=001f0003, attributes=00000000, 
initial=00000000, max=00000001, name=L"" )
0009: create_semaphore() = 0 { handle=10 }
0009: select( flags=12, cookie=2ff1f684, signal=0, 
timeout=1135996732.983095 (+4.999803), handles={10} )
0009: select() = PENDING
0009: *wakeup* signaled=258 cookie=2ff1f684
0009: select( flags=12, cookie=2ff1f684, signal=0, 
timeout=1135996792.984359 (+59.999784), handles={10} )
0009: select() = PENDING
^C0009: *killed* exit_code=1
Not saving clean key \\Machine
Not saving clean key \\User\\.Default
Not saving clean key \\User\\S-1-5-4

So, if you have been kind enough to read this far, perhaps you also might
share any ideas you have about what I have done wrong.  I have traced 
through
both the wineserver and winelib (ntdll, kernel, user, ...) code in the 
debugger
but I haven't seen anything obvious (to my untrained eyes).  I have been so
bold as to even include my traces (the [PAUSE] in the client.trc is when I
hit the breakpoint in the server, and start it tracing).

The problem might well be in my attempted ports of the pthread routines, the
atomic operations, or some other assembly stuff.  Here's my atomic ops:

#include <sys/atomic_op.h>
void* interlocked_cmpxchg_ptr( void **dest, void* xchg, void* compare)
{ compare_and_swap ((void*)dest, (int*)&compare, (int)xchg); return 
compare; }
int interlocked_cmpxchg( int *dest, int xchg, int compare)
{ compare_and_swap (dest, &compare, xchg); return compare; }
int interlocked_xchg_add( int *dest, int incr )
{ fetch_and_add (dest, incr); return *dest; }
int interlocked_xchg( int* dest, int val )
{ while (1) { int compare=*dest;
 if (compare_and_swap (dest, &compare, val)) return compare; } }
void* interlocked_xchg_ptr( void** dest, void* val )
{ while (1) { void* compare=*dest;
 if (compare_and_swap((void*)dest, (int*)&compare, (int)val)) return 
compare;}}

Thanks for any tips!

Geoff

-------------- next part --------------
hac1dev:ghart$ dbx ./wineserver
Type 'help' for help.
Core file "core" program "dbx" does not match current program (ignored)
reading symbolic information ...
(dbx) stop in req_init_thread
[1] stop in req_init_thread
(dbx) r -f -p -d1000
sock_init: shutdown() causes EOF
wineserver: starting (pid=112734)
Create key \\Machine
Create key \\User\\.Default
Create key \\User\\S-1-5-4
0008: *fd* 0 -> 17
0009: *fd* 6 <- 17
0009: *fd* 8 <- 18
Not saving clean key \\Machine
Not saving clean key \\User\\.Default
Not saving clean key \\User\\S-1-5-4
0009: init_thread( unix_pid=105014, unix_tid=1, teb=30000000, peb=f0e13118, entry=0, ldt_copy=f0d87ec8, reply_fd=6, wait_fd=8, debug_level=0 )
[1] stopped in req_init_thread at line 841 in file "thread.c"
  841       struct process *process = current->process;
(dbx) trace
[5] trace
(dbx) c
trace in thread.c:  842       int reply_fd = thread_get_inflight_fd( current, req->reply_fd );
trace in thread.c:  705       if (client == -1) return -1;
trace in thread.c:  709           for (i = 0; i < MAX_INFLIGHT_FDS; i++)
trace in thread.c:  711               if (thread->inflight[i].client == client)
trace in thread.c:  713                   ret = thread->inflight[i].server;
trace in thread.c:  714                   thread->inflight[i].server = thread->inflight[i].client = -1;
trace in thread.c:  715                   return ret;
trace in thread.c:  843       int wait_fd = thread_get_inflight_fd( current, req->wait_fd );
trace in thread.c:  705       if (client == -1) return -1;
trace in thread.c:  709           for (i = 0; i < MAX_INFLIGHT_FDS; i++)
trace in thread.c:  711               if (thread->inflight[i].client == client)
trace in thread.c:  709           for (i = 0; i < MAX_INFLIGHT_FDS; i++)
trace in thread.c:  711               if (thread->inflight[i].client == client)
trace in thread.c:  713                   ret = thread->inflight[i].server;
trace in thread.c:  714                   thread->inflight[i].server = thread->inflight[i].client = -1;
trace in thread.c:  715                   return ret;
trace in thread.c:  845       if (current->unix_pid != -1)
trace in thread.c:  850       if (reply_fd == -1 || fcntl( reply_fd, F_SETFL, O_NONBLOCK ) == -1)
trace in thread.c:  855       if (wait_fd == -1)
trace in thread.c:  860       if (!(current->reply_fd = create_anonymous_fd( &thread_fd_ops, reply_fd, &current->obj )))
trace in fd.c: 1390       struct fd *fd = alloc_fd( fd_user_ops, user );
trace in fd.c: 1221       struct fd *fd = alloc_object( &fd_ops );
trace in object.c:  145       struct object *obj = mem_alloc( ops->size );
trace in object.c:   75       void *ptr = malloc( size );
trace in object.c:   76       if (ptr) memset( ptr, 0x55, size );
trace in object.c:   78       return ptr;
trace in object.c:   79   }
trace in object.c:  146       if (obj)
trace in object.c:  148           obj->refcount = 1;
trace in object.c:  149           obj->ops      = ops;
trace in object.c:  150           obj->name     = NULL;
trace in object.c:  151           list_init( &obj->wait_queue );
trace in list.h:  139       list->next = list->prev = list;
trace in list.h:  140   }
trace in object.c:  153           list_add_head( &object_list, &obj->obj_list );
trace in list.h:   86       list_add_after( list, elem );
trace in list.h:   68       to_add->next = elem->next;
trace in list.h:   69       to_add->prev = elem;
trace in list.h:   70       elem->next->prev = to_add;
trace in list.h:   71       elem->next = to_add;
trace in list.h:   72   }
trace in list.h:   87   }
trace in object.c:  155           return obj;
trace in object.c:  158   }
trace in fd.c: 1223       if (!fd) return NULL;
trace in fd.c: 1225       fd->fd_ops     = fd_user_ops;
trace in fd.c: 1226       fd->user       = user;
trace in fd.c: 1227       fd->inode      = NULL;
trace in fd.c: 1228       fd->closed     = NULL;
trace in fd.c: 1229       fd->access     = 0;
trace in fd.c: 1230       fd->sharing    = 0;
trace in fd.c: 1231       fd->unix_fd    = -1;
trace in fd.c: 1232       fd->fs_locks   = 1;
trace in fd.c: 1233       fd->poll_index = -1;
trace in fd.c: 1234       list_init( &fd->inode_entry );
trace in list.h:  139       list->next = list->prev = list;
trace in list.h:  140   }
trace in fd.c: 1235       list_init( &fd->locks );
trace in list.h:  139       list->next = list->prev = list;
trace in list.h:  140   }
trace in fd.c: 1236       list_init( &fd->read_q );
trace in list.h:  139       list->next = list->prev = list;
trace in list.h:  140   }
trace in fd.c: 1237       list_init( &fd->write_q );
trace in list.h:  139       list->next = list->prev = list;
trace in list.h:  140   }
trace in fd.c: 1239       if ((fd->poll_index = add_poll_user( fd )) == -1)
trace in fd.c:  406       if (freelist)
trace in fd.c:  413           if (nb_users == allocated_users)
trace in fd.c:  441           ret = nb_users++;
trace in fd.c:  443       pollfd[ret].fd = -1;
trace in fd.c:  444       pollfd[ret].events = 0;
trace in fd.c:  445       pollfd[ret].revents = 0;
trace in fd.c:  446       poll_users[ret] = fd;
trace in fd.c:  447       active_users++;
trace in fd.c:  448       return ret;
trace in fd.c:  449   }
trace in fd.c: 1244       return fd;
trace in fd.c: 1245   }
trace in fd.c: 1392       if (fd)
trace in fd.c: 1394           fd->unix_fd = unix_fd;
trace in fd.c: 1395           return fd;
trace in fd.c: 1399   }
trace in thread.c:  866       if (!(current->wait_fd  = create_anonymous_fd( &thread_fd_ops, wait_fd, &current->obj )))
trace in fd.c: 1390       struct fd *fd = alloc_fd( fd_user_ops, user );
trace in fd.c: 1221       struct fd *fd = alloc_object( &fd_ops );
trace in object.c:  145       struct object *obj = mem_alloc( ops->size );
trace in object.c:   75       void *ptr = malloc( size );
trace in object.c:   76       if (ptr) memset( ptr, 0x55, size );
trace in object.c:   78       return ptr;
trace in object.c:   79   }
trace in object.c:  146       if (obj)
trace in object.c:  148           obj->refcount = 1;
trace in object.c:  149           obj->ops      = ops;
trace in object.c:  150           obj->name     = NULL;
trace in object.c:  151           list_init( &obj->wait_queue );
trace in list.h:  139       list->next = list->prev = list;
trace in list.h:  140   }
trace in object.c:  153           list_add_head( &object_list, &obj->obj_list );
trace in list.h:   86       list_add_after( list, elem );
trace in list.h:   68       to_add->next = elem->next;
trace in list.h:   69       to_add->prev = elem;
trace in list.h:   70       elem->next->prev = to_add;
trace in list.h:   71       elem->next = to_add;
trace in list.h:   72   }
trace in list.h:   87   }
trace in object.c:  155           return obj;
trace in object.c:  158   }
trace in fd.c: 1223       if (!fd) return NULL;
trace in fd.c: 1225       fd->fd_ops     = fd_user_ops;
trace in fd.c: 1226       fd->user       = user;
trace in fd.c: 1227       fd->inode      = NULL;
trace in fd.c: 1228       fd->closed     = NULL;
trace in fd.c: 1229       fd->access     = 0;
trace in fd.c: 1230       fd->sharing    = 0;
trace in fd.c: 1231       fd->unix_fd    = -1;
trace in fd.c: 1232       fd->fs_locks   = 1;
trace in fd.c: 1233       fd->poll_index = -1;
trace in fd.c: 1234       list_init( &fd->inode_entry );
trace in list.h:  139       list->next = list->prev = list;
trace in list.h:  140   }
trace in fd.c: 1235       list_init( &fd->locks );
trace in list.h:  139       list->next = list->prev = list;
trace in list.h:  140   }
trace in fd.c: 1236       list_init( &fd->read_q );
trace in list.h:  139       list->next = list->prev = list;
trace in list.h:  140   }
trace in fd.c: 1237       list_init( &fd->write_q );
trace in list.h:  139       list->next = list->prev = list;
trace in list.h:  140   }
trace in fd.c: 1239       if ((fd->poll_index = add_poll_user( fd )) == -1)
trace in fd.c:  406       if (freelist)
trace in fd.c:  413           if (nb_users == allocated_users)
trace in fd.c:  441           ret = nb_users++;
trace in fd.c:  443       pollfd[ret].fd = -1;
trace in fd.c:  444       pollfd[ret].events = 0;
trace in fd.c:  445       pollfd[ret].revents = 0;
trace in fd.c:  446       poll_users[ret] = fd;
trace in fd.c:  447       active_users++;
trace in fd.c:  448       return ret;
trace in fd.c:  449   }
trace in fd.c: 1244       return fd;
trace in fd.c: 1245   }
trace in fd.c: 1392       if (fd)
trace in fd.c: 1394           fd->unix_fd = unix_fd;
trace in fd.c: 1395           return fd;
trace in fd.c: 1399   }
trace in thread.c:  869       if (!is_valid_address(req->teb) || !is_valid_address(req->peb) || !is_valid_address(req->ldt_copy))
trace in thread.c:  157       return addr && !((unsigned int)addr % sizeof(int));
trace in thread.c:  158   }
trace in thread.c:  157       return addr && !((unsigned int)addr % sizeof(int));
trace in thread.c:  158   }
trace in thread.c:  157       return addr && !((unsigned int)addr % sizeof(int));
trace in thread.c:  158   }
trace in thread.c:  875       current->unix_pid = req->unix_pid;
trace in thread.c:  876       current->unix_tid = req->unix_tid;
trace in thread.c:  877       current->teb      = req->teb;
trace in thread.c:  879       if (!process->peb)  /* first thread, initialize the process too */
trace in thread.c:  881           process->peb      = req->peb;
trace in thread.c:  882           process->ldt_copy = req->ldt_copy;
trace in thread.c:  883           reply->info_size  = init_process( current );
trace in process.c:  309       struct process *process = thread->process;
trace in process.c:  310       struct wine_thread *parent_thread = NULL;
trace in process.c:  311       struct process *parent = NULL;
trace in process.c:  314       if (process->startup_info) return process->startup_info->data_size;  /* already initialized */
trace in process.c:  316       if ((info = find_startup_info( thread->unix_pid )))
trace in process.c:  298       LIST_FOR_EACH( ptr, &startup_info_list )
trace in process.c:  303       return NULL;
trace in process.c:  335       if (!process->handles) process->handles = alloc_handle_table( process, 0 );
trace in handle.c:  171       if (count < MIN_HANDLE_ENTRIES) count = MIN_HANDLE_ENTRIES;
trace in handle.c:  172       if (!(table = alloc_object( &handle_table_ops )))
trace in object.c:  145       struct object *obj = mem_alloc( ops->size );
trace in object.c:   75       void *ptr = malloc( size );
trace in object.c:   76       if (ptr) memset( ptr, 0x55, size );
trace in object.c:   78       return ptr;
trace in object.c:   79   }
trace in object.c:  146       if (obj)
trace in object.c:  148           obj->refcount = 1;
trace in object.c:  149           obj->ops      = ops;
trace in object.c:  150           obj->name     = NULL;
trace in object.c:  151           list_init( &obj->wait_queue );
trace in list.h:  139       list->next = list->prev = list;
trace in list.h:  140   }
trace in object.c:  153           list_add_head( &object_list, &obj->obj_list );
trace in list.h:   86       list_add_after( list, elem );
trace in list.h:   68       to_add->next = elem->next;
trace in list.h:   69       to_add->prev = elem;
trace in list.h:   70       elem->next->prev = to_add;
trace in list.h:   71       elem->next = to_add;
trace in list.h:   72   }
trace in list.h:   87   }
trace in object.c:  155           return obj;
trace in object.c:  158   }
trace in handle.c:  174       table->process = process;
trace in handle.c:  175       table->count   = count;
trace in handle.c:  176       table->last    = -1;
trace in handle.c:  177       table->free    = 0;
trace in handle.c:  178       if ((table->entries = mem_alloc( count * sizeof(*table->entries) ))) return table;
trace in object.c:   75       void *ptr = malloc( size );
trace in object.c:   76       if (ptr) memset( ptr, 0x55, size );
trace in object.c:   78       return ptr;
trace in object.c:   79   }
trace in handle.c:  178       if ((table->entries = mem_alloc( count * sizeof(*table->entries) ))) return table;
trace in handle.c:  181   }
trace in process.c:  336       if (!process->handles)
trace in process.c:  343       connect_process_winstation( process, NULL );
trace in winstation.c:  247       if (process->winstation) return;  /* already has one */
trace in winstation.c:  250       if ((process->winstation = find_inherited_handle( process, &winstation_ops )) != 0) return;
trace in handle.c:  460       struct handle_table *table = process->handles;
trace in handle.c:  464       if (!table) return 0;
trace in handle.c:  466       for (i = 0, ptr = table->entries; i <= table->last; i++, ptr++)
trace in handle.c:  472       return 0;
trace in winstation.c:  252       if (name)
trace in winstation.c:  258           if (!interactive_winstation)
trace in winstation.c:  262               interactive_winstation = create_winstation( &winsta0, OBJ_CASE_INSENSITIVE | OBJ_OPENIF, 0 );
trace in winstation.c:   90       if (!winstation_namespace && !(winstation_namespace = create_namespace( 7 )))
trace in object.c:  266       namespace = mem_alloc( sizeof(*namespace) + (hash_size - 1) * sizeof(namespace->names[0]) );
trace in object.c:   75       void *ptr = malloc( size );
trace in object.c:   76       if (ptr) memset( ptr, 0x55, size );
trace in object.c:   78       return ptr;
trace in object.c:   79   }
trace in object.c:  267       if (namespace)
trace in object.c:  269           namespace->hash_size      = hash_size;
trace in object.c:  270           for (i = 0; i < hash_size; i++) list_init( &namespace->names[i] );
trace in list.h:  139       list->next = list->prev = list;
trace in list.h:  140   }
trace in object.c:  270           for (i = 0; i < hash_size; i++) list_init( &namespace->names[i] );
trace in list.h:  139       list->next = list->prev = list;
trace in list.h:  140   }
trace in object.c:  270           for (i = 0; i < hash_size; i++) list_init( &namespace->names[i] );
trace in list.h:  139       list->next = list->prev = list;
trace in list.h:  140   }
trace in object.c:  270           for (i = 0; i < hash_size; i++) list_init( &namespace->names[i] );
trace in list.h:  139       list->next = list->prev = list;
trace in list.h:  140   }
trace in object.c:  270           for (i = 0; i < hash_size; i++) list_init( &namespace->names[i] );
trace in list.h:  139       list->next = list->prev = list;
trace in list.h:  140   }
trace in object.c:  270           for (i = 0; i < hash_size; i++) list_init( &namespace->names[i] );
trace in list.h:  139       list->next = list->prev = list;
trace in list.h:  140   }
trace in object.c:  270           for (i = 0; i < hash_size; i++) list_init( &namespace->names[i] );
trace in list.h:  139       list->next = list->prev = list;
trace in list.h:  140   }
trace in object.c:  272       return namespace;
trace in object.c:  273   }
trace in winstation.c:   93       if (memchrW( name->str, '\\', name->len / sizeof(WCHAR) ))  /* no backslash allowed in name */
trace in unicode.h:  266       for (end = ptr + n; ptr < end; ptr++) if (*ptr == ch) return (WCHAR *)ptr;
trace in unicode.h:  267       return NULL;
trace in winstation.c:   99       if ((winstation = create_named_object( winstation_namespace, &winstation_ops, name, attr )))
trace in object.c:  166       if (!name || !name->len) return alloc_object( ops );
trace in object.c:  168       if ((obj = find_object( namespace, name, attributes )))
trace in object.c:  239       if (!name || !name->len) return NULL;
trace in object.c:  241       list = &namespace->names[ get_name_hash( namespace, name->str, name->len ) ];
trace in object.c:   95       WCHAR hash = 0;
trace in object.c:   96       len /= sizeof(WCHAR);
trace in object.c:   97       while (len--) hash ^= tolowerW(*name++);
trace in unicode.h:  106       return ch + wine_casemap_lower[wine_casemap_lower[ch >> 8] + (ch & 0xff)];
trace in unicode.h:  107   }
trace in object.c:   97       while (len--) hash ^= tolowerW(*name++);
trace in unicode.h:  106       return ch + wine_casemap_lower[wine_casemap_lower[ch >> 8] + (ch & 0xff)];
trace in unicode.h:  107   }
trace in object.c:   97       while (len--) hash ^= tolowerW(*name++);
trace in unicode.h:  106       return ch + wine_casemap_lower[wine_casemap_lower[ch >> 8] + (ch & 0xff)];
trace in unicode.h:  107   }
trace in object.c:   97       while (len--) hash ^= tolowerW(*name++);
trace in unicode.h:  106       return ch + wine_casemap_lower[wine_casemap_lower[ch >> 8] + (ch & 0xff)];
trace in unicode.h:  107   }
trace in object.c:   97       while (len--) hash ^= tolowerW(*name++);
trace in unicode.h:  106       return ch + wine_casemap_lower[wine_casemap_lower[ch >> 8] + (ch & 0xff)];
trace in unicode.h:  107   }
trace in object.c:   97       while (len--) hash ^= tolowerW(*name++);
trace in unicode.h:  106       return ch + wine_casemap_lower[wine_casemap_lower[ch >> 8] + (ch & 0xff)];
trace in unicode.h:  107   }
trace in object.c:   97       while (len--) hash ^= tolowerW(*name++);
trace in unicode.h:  106       return ch + wine_casemap_lower[wine_casemap_lower[ch >> 8] + (ch & 0xff)];
trace in unicode.h:  107   }
trace in object.c:   98       return hash % namespace->hash_size;
trace in object.c:  242       LIST_FOR_EACH( p, list )
trace in object.c:  257       return NULL;
trace in object.c:  183       if (!(name_ptr = alloc_name( name ))) return NULL;
trace in object.c:  106       if ((ptr = mem_alloc( sizeof(*ptr) + name->len - sizeof(ptr->name) )))
trace in object.c:   75       void *ptr = malloc( size );
trace in object.c:   76       if (ptr) memset( ptr, 0x55, size );
trace in object.c:   78       return ptr;
trace in object.c:   79   }
trace in object.c:  108           ptr->len = name->len;
trace in object.c:  109           memcpy( ptr->name, name->str, name->len );
trace in object.c:  111       return ptr;
trace in object.c:  112   }
trace in object.c:  184       if ((obj = alloc_object( ops )))
trace in object.c:  145       struct object *obj = mem_alloc( ops->size );
trace in object.c:   75       void *ptr = malloc( size );
trace in object.c:   76       if (ptr) memset( ptr, 0x55, size );
trace in object.c:   78       return ptr;
trace in object.c:   79   }
trace in object.c:  146       if (obj)
trace in object.c:  148           obj->refcount = 1;
trace in object.c:  149           obj->ops      = ops;
trace in object.c:  150           obj->name     = NULL;
trace in object.c:  151           list_init( &obj->wait_queue );
trace in list.h:  139       list->next = list->prev = list;
trace in list.h:  140   }
trace in object.c:  153           list_add_head( &object_list, &obj->obj_list );
trace in list.h:   86       list_add_after( list, elem );
trace in list.h:   68       to_add->next = elem->next;
trace in list.h:   69       to_add->prev = elem;
trace in list.h:   70       elem->next->prev = to_add;
trace in list.h:   71       elem->next = to_add;
trace in list.h:   72   }
trace in list.h:   87   }
trace in object.c:  155           return obj;
trace in object.c:  158   }
trace in object.c:  186           set_object_name( namespace, obj, name_ptr );
trace in object.c:  126       int hash = get_name_hash( namespace, ptr->name, ptr->len );
trace in object.c:   95       WCHAR hash = 0;
trace in object.c:   96       len /= sizeof(WCHAR);
trace in object.c:   97       while (len--) hash ^= tolowerW(*name++);
trace in unicode.h:  106       return ch + wine_casemap_lower[wine_casemap_lower[ch >> 8] + (ch & 0xff)];
trace in unicode.h:  107   }
trace in object.c:   97       while (len--) hash ^= tolowerW(*name++);
trace in unicode.h:  106       return ch + wine_casemap_lower[wine_casemap_lower[ch >> 8] + (ch & 0xff)];
trace in unicode.h:  107   }
trace in object.c:   97       while (len--) hash ^= tolowerW(*name++);
trace in unicode.h:  106       return ch + wine_casemap_lower[wine_casemap_lower[ch >> 8] + (ch & 0xff)];
trace in unicode.h:  107   }
trace in object.c:   97       while (len--) hash ^= tolowerW(*name++);
trace in unicode.h:  106       return ch + wine_casemap_lower[wine_casemap_lower[ch >> 8] + (ch & 0xff)];
trace in unicode.h:  107   }
trace in object.c:   97       while (len--) hash ^= tolowerW(*name++);
trace in unicode.h:  106       return ch + wine_casemap_lower[wine_casemap_lower[ch >> 8] + (ch & 0xff)];
trace in unicode.h:  107   }
trace in object.c:   97       while (len--) hash ^= tolowerW(*name++);
trace in unicode.h:  106       return ch + wine_casemap_lower[wine_casemap_lower[ch >> 8] + (ch & 0xff)];
trace in unicode.h:  107   }
trace in object.c:   97       while (len--) hash ^= tolowerW(*name++);
trace in unicode.h:  106       return ch + wine_casemap_lower[wine_casemap_lower[ch >> 8] + (ch & 0xff)];
trace in unicode.h:  107   }
trace in object.c:   98       return hash % namespace->hash_size;
trace in object.c:  128       list_add_head( &namespace->names[hash], &ptr->entry );
trace in list.h:   86       list_add_after( list, elem );
trace in list.h:   68       to_add->next = elem->next;
trace in list.h:   69       to_add->prev = elem;
trace in list.h:   70       elem->next->prev = to_add;
trace in list.h:   71       elem->next = to_add;
trace in list.h:   72   }
trace in list.h:   87   }
trace in object.c:  129       ptr->obj = obj;
trace in object.c:  130       obj->name = ptr;
trace in object.c:  131   }
trace in object.c:  187           clear_error();
trace in thread.h:  143   static inline void clear_error(void)             { set_error(0); }
trace in thread.h:  142   static inline void set_error( unsigned int err ) { global_error = err; if (current) current->error = err; }
trace in thread.h:  143   static inline void clear_error(void)             { set_error(0); }
trace in object.c:  188       }
trace in object.c:  190       return obj;
trace in object.c:  191   }
trace in winstation.c:  101           if (get_error() != STATUS_OBJECT_NAME_EXISTS)
trace in thread.h:  141   static inline unsigned int get_error(void)       { return current ? current->error : global_error; }
trace in winstation.c:  104               winstation->flags = flags;
trace in winstation.c:  105               winstation->clipboard = NULL;
trace in winstation.c:  106               winstation->atom_table = NULL;
trace in winstation.c:  107               list_add_tail( &winstation_list, &winstation->entry );
trace in list.h:   92       list_add_before( list, elem );
trace in list.h:   77       to_add->next = elem;
trace in list.h:   78       to_add->prev = elem->prev;
trace in list.h:   79       elem->prev->next = to_add;
trace in list.h:   80       elem->prev = to_add;
trace in list.h:   81   }
trace in list.h:   93   }
trace in winstation.c:  108               list_init( &winstation->desktops );
trace in list.h:  139       list->next = list->prev = list;
trace in list.h:  140   }
trace in winstation.c:  111       return winstation;
trace in winstation.c:  112   }
trace in winstation.c:  263               winstation = interactive_winstation;
trace in winstation.c:  264           }
trace in winstation.c:  267       if (winstation)
trace in winstation.c:  269           process->winstation = alloc_handle( process, winstation, WINSTA_ALL_ACCESS, FALSE );
trace in handle.c:  226       access &= ~RESERVED_ALL;
trace in handle.c:  227       if (inherit) access |= RESERVED_INHERIT;
trace in handle.c:  228       if (!process->handles)
trace in handle.c:  233       return alloc_entry( process->handles, obj, access );
trace in handle.c:  204       struct handle_entry *entry = table->entries + table->free;
trace in handle.c:  207       for (i = table->free; i <= table->last; i++, entry++) if (!entry->ptr) goto found;
trace in handle.c:  208       if (i >= table->count)
trace in handle.c:  213       table->last = i;
trace in handle.c:  215       table->free = i + 1;
trace in handle.c:  216       entry->ptr    = grab_object( obj );
trace in object.c:  208       struct object *obj = (struct object *)ptr;
trace in object.c:  209       assert( obj->refcount < INT_MAX );
trace in object.c:  210       obj->refcount++;
trace in object.c:  211       return obj;
trace in object.c:  212   }
trace in handle.c:  217       entry->access = access;
trace in handle.c:  218       entry->fd     = -1;
trace in handle.c:  219       return index_to_handle(i);
trace in handle.c:   72       return (obj_handle_t)((index + 1) << 2);
trace in handle.c:   73   }
trace in handle.c:  234   }
trace in winstation.c:  270           release_object( winstation );
trace in object.c:  217       struct object *obj = (struct object *)ptr;
trace in object.c:  218       assert( obj->refcount );
trace in object.c:  219       if (!--obj->refcount)
trace in object.c:  231   }
trace in winstation.c:  272       clear_error();  /* ignore errors */
trace in thread.h:  143   static inline void clear_error(void)             { set_error(0); }
trace in thread.h:  142   static inline void set_error( unsigned int err ) { global_error = err; if (current) current->error = err; }
trace in thread.h:  143   static inline void clear_error(void)             { set_error(0); }
trace in winstation.c:  273   }
trace in process.c:  344       connect_process_desktop( process, NULL );
trace in winstation.c:  281       if (process->desktop) return;  /* already has one */
trace in winstation.c:  283       if ((winstation = get_process_winstation( process, WINSTA_CREATEDESKTOP )))
trace in winstation.c:  142       return (struct winstation *)get_handle_obj( process, process->winstation,
trace in handle.c:  388       if (!(obj = get_magic_handle( handle )))
trace in handle.c:  369       switch((unsigned long)handle)
trace in handle.c:  377               return NULL;
trace in handle.c:  390           if (!(entry = get_handle( process, handle ))) return NULL;
trace in handle.c:  251       struct handle_table *table = process->handles;
trace in handle.c:  255       if (handle_is_global(handle))
trace in handle.c:   85       return ((unsigned long)handle ^ HANDLE_OBFUSCATOR) < 0x10000;
trace in handle.c:   86   }
trace in handle.c:  260       if (!table) goto error;
trace in handle.c:  261       index = handle_to_index( handle );
trace in handle.c:   76       return ((unsigned int)handle >> 2) - 1;
trace in handle.c:   77   }
trace in handle.c:  262       if (index < 0) goto error;
trace in handle.c:  263       if (index > table->last) goto error;
trace in handle.c:  264       entry = table->entries + index;
trace in handle.c:  265       if (!entry->ptr) goto error;
trace in handle.c:  266       return entry;
trace in handle.c:  391           if ((entry->access & access) != access)
trace in handle.c:  396           obj = entry->ptr;
trace in handle.c:  398       if (ops && (obj->ops != ops))
trace in handle.c:  403       return grab_object( obj );
trace in object.c:  208       struct object *obj = (struct object *)ptr;
trace in object.c:  209       assert( obj->refcount < INT_MAX );
trace in object.c:  210       obj->refcount++;
trace in object.c:  211       return obj;
trace in object.c:  212   }
trace in handle.c:  404   }
trace in winstation.c:  144   }
trace in winstation.c:  288           if (!name) name = &default_str;
trace in winstation.c:  289           if ((desktop = create_desktop( name, OBJ_CASE_INSENSITIVE | OBJ_OPENIF, 0, winstation )))
trace in winstation.c:  187       if (!(full_name = build_desktop_name( name, winstation, &full_str ))) return NULL;
trace in winstation.c:  154       if (memchrW( name->str, '\\', name->len / sizeof(WCHAR) ))
trace in unicode.h:  266       for (end = ptr + n; ptr < end; ptr++) if (*ptr == ch) return (WCHAR *)ptr;
trace in unicode.h:  267       return NULL;
trace in winstation.c:  160       if (!(winstation_name = get_object_name( &winstation->obj, &winstation_len )))
trace in object.c:  136       struct object_name *ptr = obj->name;
trace in object.c:  137       if (!ptr) return NULL;
trace in object.c:  138       *len = ptr->len;
trace in object.c:  139       return ptr->name;
trace in object.c:  140   }
trace in winstation.c:  163       res->len = winstation_len + name->len + sizeof(WCHAR);
trace in winstation.c:  164       if (!(full_name = mem_alloc( res->len ))) return NULL;
trace in object.c:   75       void *ptr = malloc( size );
trace in object.c:   76       if (ptr) memset( ptr, 0x55, size );
trace in object.c:   78       return ptr;
trace in object.c:   79   }
trace in winstation.c:  165       memcpy( full_name, winstation_name, winstation_len );
trace in winstation.c:  166       full_name[winstation_len / sizeof(WCHAR)] = '\\';
trace in winstation.c:  167       memcpy( full_name + winstation_len / sizeof(WCHAR) + 1, name->str, name->len );
trace in winstation.c:  168       res->str = full_name;
trace in winstation.c:  169       return full_name;
trace in winstation.c:  170   }
trace in winstation.c:  189       if ((desktop = create_named_object( winstation_namespace, &desktop_ops, &full_str, attr )))
trace in object.c:  166       if (!name || !name->len) return alloc_object( ops );
trace in object.c:  168       if ((obj = find_object( namespace, name, attributes )))
trace in object.c:  239       if (!name || !name->len) return NULL;
trace in object.c:  241       list = &namespace->names[ get_name_hash( namespace, name->str, name->len ) ];
trace in object.c:   95       WCHAR hash = 0;
trace in object.c:   96       len /= sizeof(WCHAR);
trace in object.c:   97       while (len--) hash ^= tolowerW(*name++);
trace in unicode.h:  106       return ch + wine_casemap_lower[wine_casemap_lower[ch >> 8] + (ch & 0xff)];
trace in unicode.h:  107   }
trace in object.c:   97       while (len--) hash ^= tolowerW(*name++);
trace in unicode.h:  106       return ch + wine_casemap_lower[wine_casemap_lower[ch >> 8] + (ch & 0xff)];
trace in unicode.h:  107   }
trace in object.c:   97       while (len--) hash ^= tolowerW(*name++);
trace in unicode.h:  106       return ch + wine_casemap_lower[wine_casemap_lower[ch >> 8] + (ch & 0xff)];
trace in unicode.h:  107   }
trace in object.c:   97       while (len--) hash ^= tolowerW(*name++);
trace in unicode.h:  106       return ch + wine_casemap_lower[wine_casemap_lower[ch >> 8] + (ch & 0xff)];
trace in unicode.h:  107   }
trace in object.c:   97       while (len--) hash ^= tolowerW(*name++);
trace in unicode.h:  106       return ch + wine_casemap_lower[wine_casemap_lower[ch >> 8] + (ch & 0xff)];
trace in unicode.h:  107   }
trace in object.c:   97       while (len--) hash ^= tolowerW(*name++);
trace in unicode.h:  106       return ch + wine_casemap_lower[wine_casemap_lower[ch >> 8] + (ch & 0xff)];
trace in unicode.h:  107   }
trace in object.c:   97       while (len--) hash ^= tolowerW(*name++);
trace in unicode.h:  106       return ch + wine_casemap_lower[wine_casemap_lower[ch >> 8] + (ch & 0xff)];
trace in unicode.h:  107   }
trace in object.c:   97       while (len--) hash ^= tolowerW(*name++);
trace in unicode.h:  106       return ch + wine_casemap_lower[wine_casemap_lower[ch >> 8] + (ch & 0xff)];
trace in unicode.h:  107   }
trace in object.c:   97       while (len--) hash ^= tolowerW(*name++);
trace in unicode.h:  106       return ch + wine_casemap_lower[wine_casemap_lower[ch >> 8] + (ch & 0xff)];
trace in unicode.h:  107   }
trace in object.c:   97       while (len--) hash ^= tolowerW(*name++);
trace in unicode.h:  106       return ch + wine_casemap_lower[wine_casemap_lower[ch >> 8] + (ch & 0xff)];
trace in unicode.h:  107   }
trace in object.c:   97       while (len--) hash ^= tolowerW(*name++);
trace in unicode.h:  106       return ch + wine_casemap_lower[wine_casemap_lower[ch >> 8] + (ch & 0xff)];
trace in unicode.h:  107   }
trace in object.c:   97       while (len--) hash ^= tolowerW(*name++);
trace in unicode.h:  106       return ch + wine_casemap_lower[wine_casemap_lower[ch >> 8] + (ch & 0xff)];
trace in unicode.h:  107   }
trace in object.c:   97       while (len--) hash ^= tolowerW(*name++);
trace in unicode.h:  106       return ch + wine_casemap_lower[wine_casemap_lower[ch >> 8] + (ch & 0xff)];
trace in unicode.h:  107   }
trace in object.c:   97       while (len--) hash ^= tolowerW(*name++);
trace in unicode.h:  106       return ch + wine_casemap_lower[wine_casemap_lower[ch >> 8] + (ch & 0xff)];
trace in unicode.h:  107   }
trace in object.c:   97       while (len--) hash ^= tolowerW(*name++);
trace in unicode.h:  106       return ch + wine_casemap_lower[wine_casemap_lower[ch >> 8] + (ch & 0xff)];
trace in unicode.h:  107   }
trace in object.c:   98       return hash % namespace->hash_size;
trace in object.c:  242       LIST_FOR_EACH( p, list )
trace in object.c:  244           const struct object_name *ptr = LIST_ENTRY( p, const struct object_name, entry );
trace in object.c:  245           if (ptr->len != name->len) continue;
trace in object.c:  242       LIST_FOR_EACH( p, list )
trace in object.c:  257       return NULL;
trace in object.c:  183       if (!(name_ptr = alloc_name( name ))) return NULL;
trace in object.c:  106       if ((ptr = mem_alloc( sizeof(*ptr) + name->len - sizeof(ptr->name) )))
trace in object.c:   75       void *ptr = malloc( size );
trace in object.c:   76       if (ptr) memset( ptr, 0x55, size );
trace in object.c:   78       return ptr;
trace in object.c:   79   }
trace in object.c:  108           ptr->len = name->len;
trace in object.c:  109           memcpy( ptr->name, name->str, name->len );
trace in object.c:  111       return ptr;
trace in object.c:  112   }
trace in object.c:  184       if ((obj = alloc_object( ops )))
trace in object.c:  145       struct object *obj = mem_alloc( ops->size );
trace in object.c:   75       void *ptr = malloc( size );
trace in object.c:   76       if (ptr) memset( ptr, 0x55, size );
trace in object.c:   78       return ptr;
trace in object.c:   79   }
trace in object.c:  146       if (obj)
trace in object.c:  148           obj->refcount = 1;
trace in object.c:  149           obj->ops      = ops;
trace in object.c:  150           obj->name     = NULL;
trace in object.c:  151           list_init( &obj->wait_queue );
trace in list.h:  139       list->next = list->prev = list;
trace in list.h:  140   }
trace in object.c:  153           list_add_head( &object_list, &obj->obj_list );
trace in list.h:   86       list_add_after( list, elem );
trace in list.h:   68       to_add->next = elem->next;
trace in list.h:   69       to_add->prev = elem;
trace in list.h:   70       elem->next->prev = to_add;
trace in list.h:   71       elem->next = to_add;
trace in list.h:   72   }
trace in list.h:   87   }
trace in object.c:  155           return obj;
trace in object.c:  158   }
trace in object.c:  186           set_object_name( namespace, obj, name_ptr );
trace in object.c:  126       int hash = get_name_hash( namespace, ptr->name, ptr->len );
trace in object.c:   95       WCHAR hash = 0;
trace in object.c:   96       len /= sizeof(WCHAR);
trace in object.c:   97       while (len--) hash ^= tolowerW(*name++);
trace in unicode.h:  106       return ch + wine_casemap_lower[wine_casemap_lower[ch >> 8] + (ch & 0xff)];
trace in unicode.h:  107   }
trace in object.c:   97       while (len--) hash ^= tolowerW(*name++);
trace in unicode.h:  106       return ch + wine_casemap_lower[wine_casemap_lower[ch >> 8] + (ch & 0xff)];
trace in unicode.h:  107   }
trace in object.c:   97       while (len--) hash ^= tolowerW(*name++);
trace in unicode.h:  106       return ch + wine_casemap_lower[wine_casemap_lower[ch >> 8] + (ch & 0xff)];
trace in unicode.h:  107   }
trace in object.c:   97       while (len--) hash ^= tolowerW(*name++);
trace in unicode.h:  106       return ch + wine_casemap_lower[wine_casemap_lower[ch >> 8] + (ch & 0xff)];
trace in unicode.h:  107   }
trace in object.c:   97       while (len--) hash ^= tolowerW(*name++);
trace in unicode.h:  106       return ch + wine_casemap_lower[wine_casemap_lower[ch >> 8] + (ch & 0xff)];
trace in unicode.h:  107   }
trace in object.c:   97       while (len--) hash ^= tolowerW(*name++);
trace in unicode.h:  106       return ch + wine_casemap_lower[wine_casemap_lower[ch >> 8] + (ch & 0xff)];
trace in unicode.h:  107   }
trace in object.c:   97       while (len--) hash ^= tolowerW(*name++);
trace in unicode.h:  106       return ch + wine_casemap_lower[wine_casemap_lower[ch >> 8] + (ch & 0xff)];
trace in unicode.h:  107   }
trace in object.c:   97       while (len--) hash ^= tolowerW(*name++);
trace in unicode.h:  106       return ch + wine_casemap_lower[wine_casemap_lower[ch >> 8] + (ch & 0xff)];
trace in unicode.h:  107   }
trace in object.c:   97       while (len--) hash ^= tolowerW(*name++);
trace in unicode.h:  106       return ch + wine_casemap_lower[wine_casemap_lower[ch >> 8] + (ch & 0xff)];
trace in unicode.h:  107   }
trace in object.c:   97       while (len--) hash ^= tolowerW(*name++);
trace in unicode.h:  106       return ch + wine_casemap_lower[wine_casemap_lower[ch >> 8] + (ch & 0xff)];
trace in unicode.h:  107   }
trace in object.c:   97       while (len--) hash ^= tolowerW(*name++);
trace in unicode.h:  106       return ch + wine_casemap_lower[wine_casemap_lower[ch >> 8] + (ch & 0xff)];
trace in unicode.h:  107   }
trace in object.c:   97       while (len--) hash ^= tolowerW(*name++);
trace in unicode.h:  106       return ch + wine_casemap_lower[wine_casemap_lower[ch >> 8] + (ch & 0xff)];
trace in unicode.h:  107   }
trace in object.c:   97       while (len--) hash ^= tolowerW(*name++);
trace in unicode.h:  106       return ch + wine_casemap_lower[wine_casemap_lower[ch >> 8] + (ch & 0xff)];
trace in unicode.h:  107   }
trace in object.c:   97       while (len--) hash ^= tolowerW(*name++);
trace in unicode.h:  106       return ch + wine_casemap_lower[wine_casemap_lower[ch >> 8] + (ch & 0xff)];
trace in unicode.h:  107   }
trace in object.c:   97       while (len--) hash ^= tolowerW(*name++);
trace in unicode.h:  106       return ch + wine_casemap_lower[wine_casemap_lower[ch >> 8] + (ch & 0xff)];
trace in unicode.h:  107   }
trace in object.c:   98       return hash % namespace->hash_size;
trace in object.c:  128       list_add_head( &namespace->names[hash], &ptr->entry );
trace in list.h:   86       list_add_after( list, elem );
trace in list.h:   68       to_add->next = elem->next;
trace in list.h:   69       to_add->prev = elem;
trace in list.h:   70       elem->next->prev = to_add;
trace in list.h:   71       elem->next = to_add;
trace in list.h:   72   }
trace in list.h:   87   }
trace in object.c:  129       ptr->obj = obj;
trace in object.c:  130       obj->name = ptr;
trace in object.c:  131   }
trace in object.c:  187           clear_error();
trace in thread.h:  143   static inline void clear_error(void)             { set_error(0); }
trace in thread.h:  142   static inline void set_error( unsigned int err ) { global_error = err; if (current) current->error = err; }
trace in thread.h:  143   static inline void clear_error(void)             { set_error(0); }
trace in object.c:  188       }
trace in object.c:  190       return obj;
trace in object.c:  191   }
trace in winstation.c:  191           if (get_error() != STATUS_OBJECT_NAME_EXISTS)
trace in thread.h:  141   static inline unsigned int get_error(void)       { return current ? current->error : global_error; }
trace in winstation.c:  194               desktop->flags = flags;
trace in winstation.c:  195               desktop->winstation = (struct winstation *)grab_object( winstation );
trace in object.c:  208       struct object *obj = (struct object *)ptr;
trace in object.c:  209       assert( obj->refcount < INT_MAX );
trace in object.c:  210       obj->refcount++;
trace in object.c:  211       return obj;
trace in object.c:  212   }
trace in winstation.c:  196               desktop->top_window = NULL;
trace in winstation.c:  197               desktop->global_hooks = NULL;
trace in winstation.c:  198               list_add_tail( &winstation->desktops, &desktop->entry );
trace in list.h:   92       list_add_before( list, elem );
trace in list.h:   77       to_add->next = elem;
trace in list.h:   78       to_add->prev = elem->prev;
trace in list.h:   79       elem->prev->next = to_add;
trace in list.h:   80       elem->prev = to_add;
trace in list.h:   81   }
trace in list.h:   93   }
trace in winstation.c:  201       free( full_name );
trace in winstation.c:  202       return desktop;
trace in winstation.c:  203   }
trace in winstation.c:  291               process->desktop = alloc_handle( process, desktop, DESKTOP_ALL_ACCESS, FALSE );
trace in handle.c:  226       access &= ~RESERVED_ALL;
trace in handle.c:  227       if (inherit) access |= RESERVED_INHERIT;
trace in handle.c:  228       if (!process->handles)
trace in handle.c:  233       return alloc_entry( process->handles, obj, access );
trace in handle.c:  204       struct handle_entry *entry = table->entries + table->free;
trace in handle.c:  207       for (i = table->free; i <= table->last; i++, entry++) if (!entry->ptr) goto found;
trace in handle.c:  208       if (i >= table->count)
trace in handle.c:  213       table->last = i;
trace in handle.c:  215       table->free = i + 1;
trace in handle.c:  216       entry->ptr    = grab_object( obj );
trace in object.c:  208       struct object *obj = (struct object *)ptr;
trace in object.c:  209       assert( obj->refcount < INT_MAX );
trace in object.c:  210       obj->refcount++;
trace in object.c:  211       return obj;
trace in object.c:  212   }
trace in handle.c:  217       entry->access = access;
trace in handle.c:  218       entry->fd     = -1;
trace in handle.c:  219       return index_to_handle(i);
trace in handle.c:   72       return (obj_handle_t)((index + 1) << 2);
trace in handle.c:   73   }
trace in handle.c:  234   }
trace in winstation.c:  292               release_object( desktop );
trace in object.c:  217       struct object *obj = (struct object *)ptr;
trace in object.c:  218       assert( obj->refcount );
trace in object.c:  219       if (!--obj->refcount)
trace in object.c:  231   }
trace in winstation.c:  294           release_object( winstation );
trace in object.c:  217       struct object *obj = (struct object *)ptr;
trace in object.c:  218       assert( obj->refcount );
trace in object.c:  219       if (!--obj->refcount)
trace in object.c:  231   }
trace in winstation.c:  296       clear_error();  /* ignore errors */
trace in thread.h:  143   static inline void clear_error(void)             { set_error(0); }
trace in thread.h:  142   static inline void set_error( unsigned int err ) { global_error = err; if (current) current->error = err; }
trace in thread.h:  143   static inline void clear_error(void)             { set_error(0); }
trace in winstation.c:  297   }
trace in process.c:  345       thread->desktop = process->desktop;
trace in process.c:  347       if (!info) return 0;
trace in process.c:  375   }
trace in thread.c:  884       }
trace in thread.c:  890       debug_level = max( debug_level, req->debug_level );
trace in thread.c:  892       reply->pid     = get_process_id( process );
trace in process.h:  130   inline static process_id_t get_process_id( struct process *process ) { return process->id; }
trace in thread.c:  893       reply->tid     = get_thread_id( current );
trace in thread.h:  146   static inline thread_id_t get_thread_id( struct wine_thread *thread ) { return thread->id; }
trace in thread.c:  894       reply->version = SERVER_PROTOCOL_VERSION;
trace in thread.c:  895       reply->server_start = server_start_time;
trace in thread.c:  896       return;
trace in request.c:  284           if (current)
trace in request.c:  286               if (current->reply_fd)
trace in request.c:  288                   reply.reply_header.error = current->error;
trace in request.c:  289                   reply.reply_header.reply_size = current->reply_size;
trace in request.c:  290                   if (debug_level) trace_reply( req, &reply );
trace in trace.c: 3826       if (req < REQ_NB_REQUESTS)
trace in trace.c: 3828           fprintf( stderr, "%04x: %s() = %s",
trace in trace.c: 3797       if (status)
trace in trace.c: 3802       sprintf( buffer, "%x", status );
trace in trace.c: 3803       return buffer;
trace in trace.c: 3804   }
trace in trace.c: 3830           if (reply_dumpers[req])
trace in trace.c: 3832               fprintf( stderr, " {" );
trace in trace.c: 3833               cur_pos = 0;
trace in trace.c: 3834               cur_data = current->reply_data;
trace in trace.c: 3835               cur_size = reply->reply_header.reply_size;
trace in trace.c: 3836               reply_dumpers[req]( reply );
trace in trace.c:  661       fprintf( stderr, " pid=%04x,", req->pid );
trace in trace.c:  662       fprintf( stderr, " tid=%04x,", req->tid );
trace in trace.c:  663       fprintf( stderr, " info_size=%d,", req->info_size );
trace in trace.c:  664       fprintf( stderr, " server_start=%ld,", (long)req->server_start );
trace in trace.c:  665       fprintf( stderr, " version=%d", req->version );
trace in trace.c:  666   }
trace in trace.c: 3837               fprintf( stderr, " }" );
trace in trace.c: 3839           fputc( '\n', stderr );
0009: init_thread() = 0 { pid=0008, tid=0009, info_size=0, server_start=1135997719, version=199 }
trace in trace.c: 3840       }
trace in trace.c: 3843   }
trace in request.c:  291                   send_reply( &reply );
trace in request.c:  228       if (!current->reply_size)
trace in request.c:  230           if ((ret = write( get_unix_fd( current->reply_fd ),
trace in fd.c: 1410       if (fd->unix_fd == -1) set_error( STATUS_VOLUME_DISMOUNTED );
trace in fd.c: 1411       return fd->unix_fd;
trace in fd.c: 1412   }
trace in request.c:  232       }
trace in request.c:  252       if (current->reply_data)
trace in request.c:  257       return;
trace in request.c:  292               }
trace in request.c:  295           current = NULL;
trace in request.c:  296           return;
trace in request.c:  314               return;
trace in thread.c:  202   }
trace in fd.c: 1424   }
trace in fd.c:  573                       if (!--ret) break;
trace in fd.c:  559       while (active_users)
trace in fd.c:  561           timeout = get_next_timeout();
trace in fd.c:  473   static int get_next_timeout(void)
trace in fd.c:  475       if (!list_empty( &timeout_list ))
trace in list.h:  133       return list->next == list;
trace in list.h:  134   }
trace in fd.c:  480           gettimeofday( &now, NULL );
trace in fd.c:  484           list_init( &expired_list );
trace in list.h:  139       list->next = list->prev = list;
trace in list.h:  140   }
trace in fd.c:  485           while ((ptr = list_head( &timeout_list )) != NULL)
trace in list.h:  121       return list_next( list, list );
trace in list.h:  105       struct list *ret = elem->next;
trace in list.h:  106       if (elem->next == list) ret = NULL;
trace in list.h:  107       return ret;
trace in list.h:  108   }
trace in list.h:  122   }
trace in fd.c:  487               struct timeout_user *timeout = LIST_ENTRY( ptr, struct timeout_user, entry );
trace in fd.c:  489               if (!time_before( &now, &timeout->when ))
trace in file.h:   93       return ((t1->tv_sec < t2->tv_sec) ||
trace in file.h:   95   }
trace in fd.c:  494               else break;
trace in fd.c:  499           while ((ptr = list_head( &expired_list )) != NULL)
trace in list.h:  121       return list_next( list, list );
trace in list.h:  105       struct list *ret = elem->next;
trace in list.h:  106       if (elem->next == list) ret = NULL;
trace in list.h:  107       return ret;
trace in list.h:  108   }
trace in list.h:  122   }
trace in fd.c:  507           if ((ptr = list_head( &timeout_list )) != NULL)
trace in list.h:  121       return list_next( list, list );
trace in list.h:  105       struct list *ret = elem->next;
trace in list.h:  106       if (elem->next == list) ret = NULL;
trace in list.h:  107       return ret;
trace in list.h:  108   }
trace in list.h:  122   }
trace in fd.c:  509               struct timeout_user *timeout = LIST_ENTRY( ptr, struct timeout_user, entry );
trace in fd.c:  510               int diff = (timeout->when.tv_sec - now.tv_sec) * 1000
trace in fd.c:  512               if (diff < 0) diff = 0;
trace in fd.c:  513               return diff;
trace in fd.c:  517   }
trace in fd.c:  563           if (!active_users) break;  /* last user removed by a timeout */
trace in fd.c:  565           ret = poll( pollfd, nb_users, timeout );
trace in fd.c:  566           if (ret > 0)
trace in fd.c:  568               for (i = 0; i < nb_users; i++)
trace in fd.c:  570                   if (pollfd[i].revents)
trace in fd.c:  568               for (i = 0; i < nb_users; i++)
trace in fd.c:  570                   if (pollfd[i].revents)
trace in fd.c:  568               for (i = 0; i < nb_users; i++)
trace in fd.c:  570                   if (pollfd[i].revents)
trace in fd.c:  568               for (i = 0; i < nb_users; i++)
trace in fd.c:  570                   if (pollfd[i].revents)
trace in fd.c:  568               for (i = 0; i < nb_users; i++)
trace in fd.c:  570                   if (pollfd[i].revents)
trace in fd.c:  568               for (i = 0; i < nb_users; i++)
trace in fd.c:  570                   if (pollfd[i].revents)
trace in fd.c:  568               for (i = 0; i < nb_users; i++)
trace in fd.c:  570                   if (pollfd[i].revents)
trace in fd.c:  568               for (i = 0; i < nb_users; i++)
trace in fd.c:  570                   if (pollfd[i].revents)
trace in fd.c:  572                       fd_poll_event( poll_users[i], pollfd[i].revents );
trace in fd.c: 1423       fd->fd_ops->poll_event( fd, event );
trace in thread.c:  196       struct wine_thread *thread = get_fd_user( fd );
trace in fd.c: 1404       return fd->user;
trace in fd.c: 1405   }
trace in thread.c:  197       assert( thread->obj.ops == &thread_ops );
trace in thread.c:  199       if (event & (POLLERR | POLLHUP)) kill_thread( thread, 0 );
trace in thread.c:  200       else if (event & POLLIN) read_request( thread );
trace in request.c:  306       if (!thread->req_toread)  /* no pending request */
trace in request.c:  308           if ((ret = read( get_unix_fd( thread->request_fd ), &thread->req,
trace in fd.c: 1410       if (fd->unix_fd == -1) set_error( STATUS_VOLUME_DISMOUNTED );
trace in fd.c: 1411       return fd->unix_fd;
trace in fd.c: 1412   }
trace in request.c:  310           if (!(thread->req_toread = thread->req.request_header.request_size))
trace in request.c:  313               call_req_handler( thread );
trace in request.c:  272       enum request req = thread->req.request_header.req;
trace in request.c:  274       current = thread;
trace in request.c:  275       current->reply_size = 0;
trace in request.c:  276       clear_error();
trace in thread.h:  143   static inline void clear_error(void)             { set_error(0); }
trace in thread.h:  142   static inline void set_error( unsigned int err ) { global_error = err; if (current) current->error = err; }
trace in thread.h:  143   static inline void clear_error(void)             { set_error(0); }
trace in request.c:  277       memset( &reply, 0, sizeof(reply) );
trace in request.c:  279       if (debug_level) trace_request();
trace in trace.c: 3806   void trace_request(void)
trace in trace.c: 3808       enum request req = current->req.request_header.req;
trace in trace.c: 3809       if (req < REQ_NB_REQUESTS)
trace in trace.c: 3811           fprintf( stderr, "%04x: %s(", current->id, req_names[req] );
trace in trace.c: 3812           if (req_dumpers[req])
trace in trace.c: 3814               cur_pos = 0;
trace in trace.c: 3815               cur_data = get_req_data();
trace in request.h:   71       return current->req_data;
trace in request.h:   72   }
trace in trace.c: 3816               cur_size = get_req_data_size();
trace in request.h:   77       return current->req.request_header.request_size;
trace in request.h:   78   }
trace in trace.c: 3817               req_dumpers[req]( &current->req );
trace in trace.c:  963       fprintf( stderr, " access=%08x,", req->access );
trace in trace.c:  964       fprintf( stderr, " attributes=%08x,", req->attributes );
trace in trace.c:  965       fprintf( stderr, " initial=%08x,", req->initial );
trace in trace.c:  966       fprintf( stderr, " max=%08x,", req->max );
trace in trace.c:  967       fprintf( stderr, " name=" );
trace in trace.c:  968       dump_varargs_unicode_str( cur_size );
trace in trace.c:  199       fprintf( stderr, "L\"" );
trace in trace.c:  200       dump_strW( cur_data, size / sizeof(WCHAR), stderr, "\"\"" );
trace in unicode.c:   34       char *pos = buffer;
trace in unicode.c:   35       int count = 0;
trace in unicode.c:   37       for (; len; str++, len--)
trace in unicode.c:   67       fwrite( buffer, pos - buffer, 1, f );
trace in unicode.c:   68       count += pos - buffer;
trace in unicode.c:   69       return count;
trace in trace.c:  201       fputc( '\"', stderr );
trace in trace.c:  202       remove_data( size );
trace in trace.c:   48       cur_data = (const char *)cur_data + size;
trace in trace.c:   49       cur_size -= size;
trace in trace.c:   50   }
trace in trace.c:  203   }
trace in trace.c:  969   }
trace in trace.c: 3819           fprintf( stderr, " )\n" );
0009: create_semaphore( access=001f0003, attributes=00000000, initial=00000000, max=00000001, name=L"" )
trace in trace.c: 3820       }
trace in trace.c: 3822   }
trace in request.c:  281       if (req < REQ_NB_REQUESTS)
trace in request.c:  283           req_handlers[req]( &current->req, &reply );
trace in semaphore.c:  152       reply->handle = 0;
trace in semaphore.c:  153       get_req_unicode_str( &name );
trace in request.h:   83       str->str = get_req_data();
trace in request.h:   71       return current->req_data;
trace in request.h:   72   }
trace in request.h:   84       str->len = (get_req_data_size() / sizeof(WCHAR)) * sizeof(WCHAR);
trace in request.h:   77       return current->req.request_header.request_size;
trace in request.h:   78   }
trace in request.h:   85   }
trace in semaphore.c:  154       if ((sem = create_semaphore( &name, req->attributes, req->initial, req->max )))
trace in semaphore.c:   69       if (!max || (initial > max))
trace in semaphore.c:   74       if ((sem = create_named_object( sync_namespace, &semaphore_ops, name, attr )))
trace in object.c:  166       if (!name || !name->len) return alloc_object( ops );
trace in object.c:  145       struct object *obj = mem_alloc( ops->size );
trace in object.c:   75       void *ptr = malloc( size );
trace in object.c:   76       if (ptr) memset( ptr, 0x55, size );
trace in object.c:   78       return ptr;
trace in object.c:   79   }
trace in object.c:  146       if (obj)
trace in object.c:  148           obj->refcount = 1;
trace in object.c:  149           obj->ops      = ops;
trace in object.c:  150           obj->name     = NULL;
trace in object.c:  151           list_init( &obj->wait_queue );
trace in list.h:  139       list->next = list->prev = list;
trace in list.h:  140   }
trace in object.c:  153           list_add_head( &object_list, &obj->obj_list );
trace in list.h:   86       list_add_after( list, elem );
trace in list.h:   68       to_add->next = elem->next;
trace in list.h:   69       to_add->prev = elem;
trace in list.h:   70       elem->next->prev = to_add;
trace in list.h:   71       elem->next = to_add;
trace in list.h:   72   }
trace in list.h:   87   }
trace in object.c:  155           return obj;
trace in object.c:  158   }
trace in object.c:  191   }
trace in semaphore.c:   76           if (get_error() != STATUS_OBJECT_NAME_EXISTS)
trace in thread.h:  141   static inline unsigned int get_error(void)       { return current ? current->error : global_error; }
trace in semaphore.c:   79               sem->count = initial;
trace in semaphore.c:   80               sem->max   = max;
trace in semaphore.c:   83       return sem;
trace in semaphore.c:   84   }
trace in semaphore.c:  156           reply->handle = alloc_handle( current->process, sem, req->access,
trace in handle.c:  226       access &= ~RESERVED_ALL;
trace in handle.c:  227       if (inherit) access |= RESERVED_INHERIT;
trace in handle.c:  228       if (!process->handles)
trace in handle.c:  233       return alloc_entry( process->handles, obj, access );
trace in handle.c:  204       struct handle_entry *entry = table->entries + table->free;
trace in handle.c:  207       for (i = table->free; i <= table->last; i++, entry++) if (!entry->ptr) goto found;
trace in handle.c:  208       if (i >= table->count)
trace in handle.c:  213       table->last = i;
trace in handle.c:  215       table->free = i + 1;
trace in handle.c:  216       entry->ptr    = grab_object( obj );
trace in object.c:  208       struct object *obj = (struct object *)ptr;
trace in object.c:  209       assert( obj->refcount < INT_MAX );
trace in object.c:  210       obj->refcount++;
trace in object.c:  211       return obj;
trace in object.c:  212   }
trace in handle.c:  217       entry->access = access;
trace in handle.c:  218       entry->fd     = -1;
trace in handle.c:  219       return index_to_handle(i);
trace in handle.c:   72       return (obj_handle_t)((index + 1) << 2);
trace in handle.c:   73   }
trace in handle.c:  234   }
trace in semaphore.c:  158           release_object( sem );
trace in object.c:  217       struct object *obj = (struct object *)ptr;
trace in object.c:  218       assert( obj->refcount );
trace in object.c:  219       if (!--obj->refcount)
trace in object.c:  231   }
trace in semaphore.c:  160   }
trace in request.c:  284           if (current)
trace in request.c:  286               if (current->reply_fd)
trace in request.c:  288                   reply.reply_header.error = current->error;
trace in request.c:  289                   reply.reply_header.reply_size = current->reply_size;
trace in request.c:  290                   if (debug_level) trace_reply( req, &reply );
trace in trace.c: 3826       if (req < REQ_NB_REQUESTS)
trace in trace.c: 3828           fprintf( stderr, "%04x: %s() = %s",
trace in trace.c: 3797       if (status)
trace in trace.c: 3802       sprintf( buffer, "%x", status );
trace in trace.c: 3803       return buffer;
trace in trace.c: 3804   }
trace in trace.c: 3830           if (reply_dumpers[req])
trace in trace.c: 3832               fprintf( stderr, " {" );
trace in trace.c: 3833               cur_pos = 0;
trace in trace.c: 3834               cur_data = current->reply_data;
trace in trace.c: 3835               cur_size = reply->reply_header.reply_size;
trace in trace.c: 3836               reply_dumpers[req]( reply );
trace in trace.c:  973       fprintf( stderr, " handle=%p", req->handle );
trace in trace.c:  974   }
trace in trace.c: 3837               fprintf( stderr, " }" );
trace in trace.c: 3839           fputc( '\n', stderr );
0009: create_semaphore() = 0 { handle=c }
trace in trace.c: 3840       }
trace in trace.c: 3843   }
trace in request.c:  291                   send_reply( &reply );
trace in request.c:  228       if (!current->reply_size)
trace in request.c:  230           if ((ret = write( get_unix_fd( current->reply_fd ),
trace in fd.c: 1410       if (fd->unix_fd == -1) set_error( STATUS_VOLUME_DISMOUNTED );
trace in fd.c: 1411       return fd->unix_fd;
trace in fd.c: 1412   }
trace in request.c:  232       }
trace in request.c:  252       if (current->reply_data)
trace in request.c:  257       return;
trace in request.c:  292               }
trace in request.c:  295           current = NULL;
trace in request.c:  296           return;
trace in request.c:  314               return;
trace in thread.c:  202   }
trace in fd.c: 1424   }
trace in fd.c:  573                       if (!--ret) break;
trace in fd.c:  559       while (active_users)
trace in fd.c:  561           timeout = get_next_timeout();
trace in fd.c:  473   static int get_next_timeout(void)
trace in fd.c:  475       if (!list_empty( &timeout_list ))
trace in list.h:  133       return list->next == list;
trace in list.h:  134   }
trace in fd.c:  480           gettimeofday( &now, NULL );
trace in fd.c:  484           list_init( &expired_list );
trace in list.h:  139       list->next = list->prev = list;
trace in list.h:  140   }
trace in fd.c:  485           while ((ptr = list_head( &timeout_list )) != NULL)
trace in list.h:  121       return list_next( list, list );
trace in list.h:  105       struct list *ret = elem->next;
trace in list.h:  106       if (elem->next == list) ret = NULL;
trace in list.h:  107       return ret;
trace in list.h:  108   }
trace in list.h:  122   }
trace in fd.c:  487               struct timeout_user *timeout = LIST_ENTRY( ptr, struct timeout_user, entry );
trace in fd.c:  489               if (!time_before( &now, &timeout->when ))
trace in file.h:   93       return ((t1->tv_sec < t2->tv_sec) ||
trace in file.h:   95   }
trace in fd.c:  494               else break;
trace in fd.c:  499           while ((ptr = list_head( &expired_list )) != NULL)
trace in list.h:  121       return list_next( list, list );
trace in list.h:  105       struct list *ret = elem->next;
trace in list.h:  106       if (elem->next == list) ret = NULL;
trace in list.h:  107       return ret;
trace in list.h:  108   }
trace in list.h:  122   }
trace in fd.c:  507           if ((ptr = list_head( &timeout_list )) != NULL)
trace in list.h:  121       return list_next( list, list );
trace in list.h:  105       struct list *ret = elem->next;
trace in list.h:  106       if (elem->next == list) ret = NULL;
trace in list.h:  107       return ret;
trace in list.h:  108   }
trace in list.h:  122   }
trace in fd.c:  509               struct timeout_user *timeout = LIST_ENTRY( ptr, struct timeout_user, entry );
trace in fd.c:  510               int diff = (timeout->when.tv_sec - now.tv_sec) * 1000
trace in fd.c:  512               if (diff < 0) diff = 0;
trace in fd.c:  513               return diff;
trace in fd.c:  517   }
trace in fd.c:  563           if (!active_users) break;  /* last user removed by a timeout */
trace in fd.c:  565           ret = poll( pollfd, nb_users, timeout );
trace in fd.c:  566           if (ret > 0)
trace in fd.c:  568               for (i = 0; i < nb_users; i++)
trace in fd.c:  570                   if (pollfd[i].revents)
trace in fd.c:  568               for (i = 0; i < nb_users; i++)
trace in fd.c:  570                   if (pollfd[i].revents)
trace in fd.c:  568               for (i = 0; i < nb_users; i++)
trace in fd.c:  570                   if (pollfd[i].revents)
trace in fd.c:  568               for (i = 0; i < nb_users; i++)
trace in fd.c:  570                   if (pollfd[i].revents)
trace in fd.c:  568               for (i = 0; i < nb_users; i++)
trace in fd.c:  570                   if (pollfd[i].revents)
trace in fd.c:  568               for (i = 0; i < nb_users; i++)
trace in fd.c:  570                   if (pollfd[i].revents)
trace in fd.c:  568               for (i = 0; i < nb_users; i++)
trace in fd.c:  570                   if (pollfd[i].revents)
trace in fd.c:  568               for (i = 0; i < nb_users; i++)
trace in fd.c:  570                   if (pollfd[i].revents)
trace in fd.c:  572                       fd_poll_event( poll_users[i], pollfd[i].revents );
trace in fd.c: 1423       fd->fd_ops->poll_event( fd, event );
trace in thread.c:  196       struct wine_thread *thread = get_fd_user( fd );
trace in fd.c: 1404       return fd->user;
trace in fd.c: 1405   }
trace in thread.c:  197       assert( thread->obj.ops == &thread_ops );
trace in thread.c:  199       if (event & (POLLERR | POLLHUP)) kill_thread( thread, 0 );
trace in thread.c:  200       else if (event & POLLIN) read_request( thread );
trace in request.c:  306       if (!thread->req_toread)  /* no pending request */
trace in request.c:  308           if ((ret = read( get_unix_fd( thread->request_fd ), &thread->req,
trace in fd.c: 1410       if (fd->unix_fd == -1) set_error( STATUS_VOLUME_DISMOUNTED );
trace in fd.c: 1411       return fd->unix_fd;
trace in fd.c: 1412   }
trace in request.c:  310           if (!(thread->req_toread = thread->req.request_header.request_size))
trace in request.c:  316           if (!(thread->req_data = malloc( thread->req_toread )))
trace in request.c:  323           ret = read( get_unix_fd( thread->request_fd ),
trace in fd.c: 1410       if (fd->unix_fd == -1) set_error( STATUS_VOLUME_DISMOUNTED );
trace in fd.c: 1411       return fd->unix_fd;
trace in fd.c: 1412   }
trace in request.c:  327           if (ret <= 0) break;
trace in request.c:  328           if (!(thread->req_toread -= ret))
trace in request.c:  330               call_req_handler( thread );
trace in request.c:  272       enum request req = thread->req.request_header.req;
trace in request.c:  274       current = thread;
trace in request.c:  275       current->reply_size = 0;
trace in request.c:  276       clear_error();
trace in thread.h:  143   static inline void clear_error(void)             { set_error(0); }
trace in thread.h:  142   static inline void set_error( unsigned int err ) { global_error = err; if (current) current->error = err; }
trace in thread.h:  143   static inline void clear_error(void)             { set_error(0); }
trace in request.c:  277       memset( &reply, 0, sizeof(reply) );
trace in request.c:  279       if (debug_level) trace_request();
trace in trace.c: 3806   void trace_request(void)
trace in trace.c: 3808       enum request req = current->req.request_header.req;
trace in trace.c: 3809       if (req < REQ_NB_REQUESTS)
trace in trace.c: 3811           fprintf( stderr, "%04x: %s(", current->id, req_names[req] );
trace in trace.c: 3812           if (req_dumpers[req])
trace in trace.c: 3814               cur_pos = 0;
trace in trace.c: 3815               cur_data = get_req_data();
trace in request.h:   71       return current->req_data;
trace in request.h:   72   }
trace in trace.c: 3816               cur_size = get_req_data_size();
trace in request.h:   77       return current->req.request_header.request_size;
trace in request.h:   78   }
trace in trace.c: 3817               req_dumpers[req]( &current->req );
trace in trace.c:  880       fprintf( stderr, " flags=%d,", req->flags );
trace in trace.c:  881       fprintf( stderr, " cookie=%p,", req->cookie );
trace in trace.c:  882       fprintf( stderr, " signal=%p,", req->signal );
trace in trace.c:  883       fprintf( stderr, " timeout=" );
trace in trace.c:  884       dump_abs_time( &req->timeout );
trace in trace.c:   68       if (!time->sec && !time->usec)
trace in trace.c:   73       gettimeofday( &tv, NULL );
trace in trace.c:   74       secs = time->sec - tv.tv_sec;
trace in trace.c:   75       if ((usecs = time->usec - tv.tv_usec) < 0)
trace in trace.c:   77           usecs += 1000000;
trace in trace.c:   78           secs--;
trace in trace.c:   80       if (secs > 0 || (secs == 0 && usecs >= 0))
trace in trace.c:   81           fprintf( stderr, "%d.%06d (+%d.%06d)", time->sec, time->usec, secs, usecs );
trace in trace.c:   84   }
trace in trace.c:  885       fprintf( stderr, "," );
trace in trace.c:  886       fprintf( stderr, " handles=" );
trace in trace.c:  887       dump_varargs_handles( cur_size );
trace in trace.c:  148       const obj_handle_t *data = cur_data;
trace in trace.c:  149       size_t len = size / sizeof(*data);
trace in trace.c:  151       fputc( '{', stderr );
trace in trace.c:  152       while (len > 0)
trace in trace.c:  154           fprintf( stderr, "%p", *data++ );
trace in trace.c:  155           if (--len) fputc( ',', stderr );
trace in trace.c:  152       while (len > 0)
trace in trace.c:  157       fputc( '}', stderr );
trace in trace.c:  158       remove_data( size );
trace in trace.c:   48       cur_data = (const char *)cur_data + size;
trace in trace.c:   49       cur_size -= size;
trace in trace.c:   50   }
trace in trace.c:  159   }
trace in trace.c:  888   }
trace in trace.c: 3819           fprintf( stderr, " )\n" );
0009: select( flags=12, cookie=2ff1fac4, signal=0, timeout=1135997779.339286 (+3.880111), handles={c} )
trace in trace.c: 3820       }
trace in trace.c: 3822   }
trace in request.c:  281       if (req < REQ_NB_REQUESTS)
trace in request.c:  283           req_handlers[req]( &current->req, &reply );
trace in thread.c: 1001       int count = get_req_data_size() / sizeof(int);
trace in request.h:   77       return current->req.request_header.request_size;
trace in request.h:   78   }
trace in thread.c: 1002       select_on( count, req->cookie, get_req_data(), req->flags, &req->timeout, req->signal );
trace in request.h:   71       return current->req_data;
trace in request.h:   72   }
trace in thread.c:  546       if ((count < 0) || (count > MAXIMUM_WAIT_OBJECTS))
trace in thread.c:  551       for (i = 0; i < count; i++)
trace in thread.c:  553           if (!(objects[i] = get_handle_obj( current->process, handles[i], SYNCHRONIZE, NULL )))
trace in handle.c:  388       if (!(obj = get_magic_handle( handle )))
trace in handle.c:  369       switch((unsigned long)handle)
trace in handle.c:  377               return NULL;
trace in handle.c:  390           if (!(entry = get_handle( process, handle ))) return NULL;
trace in handle.c:  251       struct handle_table *table = process->handles;
trace in handle.c:  255       if (handle_is_global(handle))
trace in handle.c:   85       return ((unsigned long)handle ^ HANDLE_OBFUSCATOR) < 0x10000;
trace in handle.c:   86   }
trace in handle.c:  260       if (!table) goto error;
trace in handle.c:  261       index = handle_to_index( handle );
trace in handle.c:   76       return ((unsigned int)handle >> 2) - 1;
trace in handle.c:   77   }
trace in handle.c:  262       if (index < 0) goto error;
trace in handle.c:  263       if (index > table->last) goto error;
trace in handle.c:  264       entry = table->entries + index;
trace in handle.c:  265       if (!entry->ptr) goto error;
trace in handle.c:  266       return entry;
trace in handle.c:  391           if ((entry->access & access) != access)
trace in handle.c:  396           obj = entry->ptr;
trace in handle.c:  398       if (ops && (obj->ops != ops))
trace in handle.c:  403       return grab_object( obj );
trace in object.c:  208       struct object *obj = (struct object *)ptr;
trace in object.c:  209       assert( obj->refcount < INT_MAX );
trace in object.c:  210       obj->refcount++;
trace in object.c:  211       return obj;
trace in object.c:  212   }
trace in handle.c:  404   }
trace in thread.c:  551       for (i = 0; i < count; i++)
trace in thread.c:  557       if (i < count) goto done;
trace in thread.c:  558       if (!wait_on( count, objects, flags, timeout )) goto done;
trace in thread.c:  387       if (!(wait = mem_alloc( sizeof(*wait) + (count-1) * sizeof(*entry) ))) return 0;
trace in object.c:   75       void *ptr = malloc( size );
trace in object.c:   76       if (ptr) memset( ptr, 0x55, size );
trace in object.c:   78       return ptr;
trace in object.c:   79   }
trace in thread.c:  388       wait->next    = current->wait;
trace in thread.c:  389       wait->thread  = current;
trace in thread.c:  390       wait->count   = count;
trace in thread.c:  391       wait->flags   = flags;
trace in thread.c:  392       wait->user    = NULL;
trace in thread.c:  393       current->wait = wait;
trace in thread.c:  394       if (flags & SELECT_TIMEOUT)
trace in thread.c:  396           wait->timeout.tv_sec  = timeout->sec;
trace in thread.c:  397           wait->timeout.tv_usec = timeout->usec;
trace in thread.c:  400       for (i = 0, entry = wait->queues; i < count; i++, entry++)
trace in thread.c:  402           struct object *obj = objects[i];
trace in thread.c:  403           entry->thread = current;
trace in thread.c:  404           if (!obj->ops->add_queue( obj, entry ))
trace in thread.c:  352       grab_object( obj );
trace in object.c:  208       struct object *obj = (struct object *)ptr;
trace in object.c:  209       assert( obj->refcount < INT_MAX );
trace in object.c:  210       obj->refcount++;
trace in object.c:  211       return obj;
trace in object.c:  212   }
trace in thread.c:  353       entry->obj = obj;
trace in thread.c:  354       list_add_tail( &obj->wait_queue, &entry->entry );
trace in list.h:   92       list_add_before( list, elem );
trace in list.h:   77       to_add->next = elem;
trace in list.h:   78       to_add->prev = elem->prev;
trace in list.h:   79       elem->prev->next = to_add;
trace in list.h:   80       elem->prev = to_add;
trace in list.h:   81   }
trace in list.h:   93   }
trace in thread.c:  355       return 1;
trace in thread.c:  356   }
trace in thread.c:  400       for (i = 0, entry = wait->queues; i < count; i++, entry++)
trace in thread.c:  411       return 1;
trace in thread.c:  561       if (signal_obj)
trace in thread.c:  572       if ((ret = check_wait( current )) != -1)
trace in thread.c:  418       struct wine_thread_wait *wait = thread->wait;
trace in thread.c:  419       struct wait_queue_entry *entry = wait->queues;
trace in thread.c:  422       if (thread->process->suspend + thread->suspend > 0) return -1;
trace in thread.c:  424       assert( wait );
trace in thread.c:  425       if (wait->flags & SELECT_ALL)
trace in thread.c:  442           for (i = 0, entry = wait->queues; i < wait->count; i++, entry++)
trace in thread.c:  444               if (!entry->obj->ops->signaled( entry->obj, thread )) continue;
trace in semaphore.c:  119       struct semaphore *sem = (struct semaphore *)obj;
trace in semaphore.c:  120       assert( obj->ops == &semaphore_ops );
trace in semaphore.c:  121       return (sem->count > 0);
trace in semaphore.c:  122   }
trace in thread.c:  444               if (!entry->obj->ops->signaled( entry->obj, thread )) continue;
trace in thread.c:  442           for (i = 0, entry = wait->queues; i < wait->count; i++, entry++)
trace in thread.c:  454       if ((wait->flags & SELECT_INTERRUPTIBLE) && !list_empty(&thread->system_apc)) return STATUS_USER_APC;
trace in list.h:  133       return list->next == list;
trace in list.h:  134   }
trace in thread.c:  455       if ((wait->flags & SELECT_ALERTABLE) && !list_empty(&thread->user_apc)) return STATUS_USER_APC;
trace in thread.c:  456       if (wait->flags & SELECT_TIMEOUT)
trace in thread.c:  459           gettimeofday( &now, NULL );
trace in thread.c:  460           if (!time_before( &now, &wait->timeout )) return STATUS_TIMEOUT;
trace in file.h:   93       return ((t1->tv_sec < t2->tv_sec) ||
trace in file.h:   95   }
trace in thread.c:  462       return -1;
trace in thread.c:  581       if (flags & SELECT_TIMEOUT)
trace in thread.c:  583           if (!(current->wait->user = add_timeout_user( &current->wait->timeout,
trace in fd.c:  301       if (!(user = mem_alloc( sizeof(*user) ))) return NULL;
trace in object.c:   75       void *ptr = malloc( size );
trace in object.c:   76       if (ptr) memset( ptr, 0x55, size );
trace in object.c:   78       return ptr;
trace in object.c:   79   }
trace in fd.c:  302       user->when     = *when;
trace in fd.c:  303       user->callback = func;
trace in fd.c:  304       user->private  = private;
trace in fd.c:  308       LIST_FOR_EACH( ptr, &timeout_list )
trace in fd.c:  310           struct timeout_user *timeout = LIST_ENTRY( ptr, struct timeout_user, entry );
trace in fd.c:  311           if (!time_before( &timeout->when, when )) break;
trace in file.h:   93       return ((t1->tv_sec < t2->tv_sec) ||
trace in file.h:   94               ((t1->tv_sec == t2->tv_sec) && (t1->tv_usec < t2->tv_usec)));
trace in file.h:   95   }
trace in fd.c:  311           if (!time_before( &timeout->when, when )) break;
trace in fd.c:  313       list_add_before( ptr, &user->entry );
trace in list.h:   77       to_add->next = elem;
trace in list.h:   78       to_add->prev = elem->prev;
trace in list.h:   79       elem->prev->next = to_add;
trace in list.h:   80       elem->prev = to_add;
trace in list.h:   81   }
trace in fd.c:  314       return user;
trace in thread.c:  590       current->wait->cookie = cookie;
trace in thread.c:  591       set_error( STATUS_PENDING );
trace in thread.h:  142   static inline void set_error( unsigned int err ) { global_error = err; if (current) current->error = err; }
trace in thread.c:  594       while (--i >= 0) release_object( objects[i] );
trace in object.c:  217       struct object *obj = (struct object *)ptr;
trace in object.c:  218       assert( obj->refcount );
trace in object.c:  219       if (!--obj->refcount)
trace in object.c:  231   }
trace in thread.c:  595   }
trace in thread.c: 1003   }
trace in request.c:  284           if (current)
trace in request.c:  286               if (current->reply_fd)
trace in request.c:  288                   reply.reply_header.error = current->error;
trace in request.c:  289                   reply.reply_header.reply_size = current->reply_size;
trace in request.c:  290                   if (debug_level) trace_reply( req, &reply );
trace in trace.c: 3826       if (req < REQ_NB_REQUESTS)
trace in trace.c: 3828           fprintf( stderr, "%04x: %s() = %s",
trace in trace.c: 3797       if (status)
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3804   }
trace in trace.c: 3830           if (reply_dumpers[req])
trace in trace.c: 3839           fputc( '\n', stderr );
0009: select() = PENDING
trace in trace.c: 3840       }
trace in trace.c: 3843   }
trace in request.c:  291                   send_reply( &reply );
trace in request.c:  228       if (!current->reply_size)
trace in request.c:  230           if ((ret = write( get_unix_fd( current->reply_fd ),
trace in fd.c: 1410       if (fd->unix_fd == -1) set_error( STATUS_VOLUME_DISMOUNTED );
trace in fd.c: 1411       return fd->unix_fd;
trace in fd.c: 1412   }
trace in request.c:  232       }
trace in request.c:  252       if (current->reply_data)
trace in request.c:  257       return;
trace in request.c:  292               }
trace in request.c:  295           current = NULL;
trace in request.c:  296           return;
trace in request.c:  331               free( thread->req_data );
trace in request.c:  332               thread->req_data = NULL;
trace in request.c:  333               return;
trace in thread.c:  202   }
trace in fd.c: 1424   }
trace in fd.c:  573                       if (!--ret) break;
trace in fd.c:  559       while (active_users)
trace in fd.c:  561           timeout = get_next_timeout();
trace in fd.c:  473   static int get_next_timeout(void)
trace in fd.c:  475       if (!list_empty( &timeout_list ))
trace in list.h:  133       return list->next == list;
trace in list.h:  134   }
trace in fd.c:  480           gettimeofday( &now, NULL );
trace in fd.c:  484           list_init( &expired_list );
trace in list.h:  139       list->next = list->prev = list;
trace in list.h:  140   }
trace in fd.c:  485           while ((ptr = list_head( &timeout_list )) != NULL)
trace in list.h:  121       return list_next( list, list );
trace in list.h:  105       struct list *ret = elem->next;
trace in list.h:  106       if (elem->next == list) ret = NULL;
trace in list.h:  107       return ret;
trace in list.h:  108   }
trace in list.h:  122   }
trace in fd.c:  487               struct timeout_user *timeout = LIST_ENTRY( ptr, struct timeout_user, entry );
trace in fd.c:  489               if (!time_before( &now, &timeout->when ))
trace in file.h:   93       return ((t1->tv_sec < t2->tv_sec) ||
trace in file.h:   95   }
trace in fd.c:  494               else break;
trace in fd.c:  499           while ((ptr = list_head( &expired_list )) != NULL)
trace in list.h:  121       return list_next( list, list );
trace in list.h:  105       struct list *ret = elem->next;
trace in list.h:  106       if (elem->next == list) ret = NULL;
trace in list.h:  107       return ret;
trace in list.h:  108   }
trace in list.h:  122   }
trace in fd.c:  507           if ((ptr = list_head( &timeout_list )) != NULL)
trace in list.h:  121       return list_next( list, list );
trace in list.h:  105       struct list *ret = elem->next;
trace in list.h:  106       if (elem->next == list) ret = NULL;
trace in list.h:  107       return ret;
trace in list.h:  108   }
trace in list.h:  122   }
trace in fd.c:  509               struct timeout_user *timeout = LIST_ENTRY( ptr, struct timeout_user, entry );
trace in fd.c:  510               int diff = (timeout->when.tv_sec - now.tv_sec) * 1000
trace in fd.c:  512               if (diff < 0) diff = 0;
trace in fd.c:  513               return diff;
trace in fd.c:  517   }
trace in fd.c:  563           if (!active_users) break;  /* last user removed by a timeout */
trace in fd.c:  565           ret = poll( pollfd, nb_users, timeout );
trace in fd.c:  566           if (ret > 0)
trace in fd.c:  559       while (active_users)
trace in fd.c:  561           timeout = get_next_timeout();
trace in fd.c:  473   static int get_next_timeout(void)
trace in fd.c:  475       if (!list_empty( &timeout_list ))
trace in list.h:  133       return list->next == list;
trace in list.h:  134   }
trace in fd.c:  480           gettimeofday( &now, NULL );
trace in fd.c:  484           list_init( &expired_list );
trace in list.h:  139       list->next = list->prev = list;
trace in list.h:  140   }
trace in fd.c:  485           while ((ptr = list_head( &timeout_list )) != NULL)
trace in list.h:  121       return list_next( list, list );
trace in list.h:  105       struct list *ret = elem->next;
trace in list.h:  106       if (elem->next == list) ret = NULL;
trace in list.h:  107       return ret;
trace in list.h:  108   }
trace in list.h:  122   }
trace in fd.c:  487               struct timeout_user *timeout = LIST_ENTRY( ptr, struct timeout_user, entry );
trace in fd.c:  489               if (!time_before( &now, &timeout->when ))
trace in file.h:   93       return ((t1->tv_sec < t2->tv_sec) ||
trace in file.h:   94               ((t1->tv_sec == t2->tv_sec) && (t1->tv_usec < t2->tv_usec)));
trace in file.h:   95   }
trace in fd.c:  491                   list_remove( &timeout->entry );
trace in list.h:   98       elem->next->prev = elem->prev;
trace in list.h:   99       elem->prev->next = elem->next;
trace in list.h:  100   }
trace in fd.c:  492                   list_add_tail( &expired_list, &timeout->entry );
trace in list.h:   92       list_add_before( list, elem );
trace in list.h:   77       to_add->next = elem;
trace in list.h:   78       to_add->prev = elem->prev;
trace in list.h:   79       elem->prev->next = to_add;
trace in list.h:   80       elem->prev = to_add;
trace in list.h:   81   }
trace in list.h:   93   }
trace in fd.c:  493               }
trace in fd.c:  485           while ((ptr = list_head( &timeout_list )) != NULL)
trace in list.h:  121       return list_next( list, list );
trace in list.h:  105       struct list *ret = elem->next;
trace in list.h:  106       if (elem->next == list) ret = NULL;
trace in list.h:  107       return ret;
trace in list.h:  108   }
trace in list.h:  122   }
trace in fd.c:  487               struct timeout_user *timeout = LIST_ENTRY( ptr, struct timeout_user, entry );
trace in fd.c:  489               if (!time_before( &now, &timeout->when ))
trace in file.h:   93       return ((t1->tv_sec < t2->tv_sec) ||
trace in file.h:   94               ((t1->tv_sec == t2->tv_sec) && (t1->tv_usec < t2->tv_usec)));
trace in file.h:   95   }
trace in fd.c:  491                   list_remove( &timeout->entry );
trace in list.h:   98       elem->next->prev = elem->prev;
trace in list.h:   99       elem->prev->next = elem->next;
trace in list.h:  100   }
trace in fd.c:  492                   list_add_tail( &expired_list, &timeout->entry );
trace in list.h:   92       list_add_before( list, elem );
trace in list.h:   77       to_add->next = elem;
trace in list.h:   78       to_add->prev = elem->prev;
trace in list.h:   79       elem->prev->next = to_add;
trace in list.h:   80       elem->prev = to_add;
trace in list.h:   81   }
trace in list.h:   93   }
trace in fd.c:  493               }
trace in fd.c:  485           while ((ptr = list_head( &timeout_list )) != NULL)
trace in list.h:  121       return list_next( list, list );
trace in list.h:  105       struct list *ret = elem->next;
trace in list.h:  106       if (elem->next == list) ret = NULL;
trace in list.h:  107       return ret;
trace in list.h:  108   }
trace in list.h:  122   }
trace in fd.c:  499           while ((ptr = list_head( &expired_list )) != NULL)
trace in list.h:  121       return list_next( list, list );
trace in list.h:  105       struct list *ret = elem->next;
trace in list.h:  106       if (elem->next == list) ret = NULL;
trace in list.h:  107       return ret;
trace in list.h:  108   }
trace in list.h:  122   }
trace in fd.c:  501               struct timeout_user *timeout = LIST_ENTRY( ptr, struct timeout_user, entry );
trace in fd.c:  502               list_remove( &timeout->entry );
trace in list.h:   98       elem->next->prev = elem->prev;
trace in list.h:   99       elem->prev->next = elem->next;
trace in list.h:  100   }
trace in fd.c:  503               timeout->callback( timeout->private );
trace in thread.c:  508       struct wine_thread_wait *wait = ptr;
trace in thread.c:  509       struct wine_thread *thread = wait->thread;
trace in thread.c:  510       void *cookie = wait->cookie;
trace in thread.c:  512       wait->user = NULL;
trace in thread.c:  513       if (thread->wait != wait) return; /* not the top-level wait, ignore it */
trace in thread.c:  514       if (thread->suspend + thread->process->suspend > 0) return;  /* suspended, ignore it */
trace in thread.c:  516       if (debug_level) fprintf( stderr, "%04x: *wakeup* signaled=%d cookie=%p\n",
0009: *wakeup* signaled=258 cookie=2ff1fac4
trace in thread.c:  518       end_wait( thread );
trace in thread.c:  368       struct wine_thread_wait *wait = thread->wait;
trace in thread.c:  372       assert( wait );
trace in thread.c:  373       for (i = 0, entry = wait->queues; i < wait->count; i++, entry++)
trace in thread.c:  374           entry->obj->ops->remove_queue( entry->obj, entry );
trace in thread.c:  361       list_remove( &entry->entry );
trace in list.h:   98       elem->next->prev = elem->prev;
trace in list.h:   99       elem->prev->next = elem->next;
trace in list.h:  100   }
trace in thread.c:  362       release_object( obj );
trace in object.c:  217       struct object *obj = (struct object *)ptr;
trace in object.c:  218       assert( obj->refcount );
trace in object.c:  219       if (!--obj->refcount)
trace in object.c:  231   }
trace in thread.c:  363   }
trace in thread.c:  373       for (i = 0, entry = wait->queues; i < wait->count; i++, entry++)
trace in thread.c:  375       if (wait->user) remove_timeout_user( wait->user );
trace in thread.c:  376       thread->wait = wait->next;
trace in thread.c:  377       free( wait );
trace in thread.c:  378   }
trace in thread.c:  519       if (send_thread_wakeup( thread, cookie, STATUS_TIMEOUT ) == -1) return;
trace in thread.c:  471       reply.cookie   = cookie;
trace in thread.c:  472       reply.signaled = signaled;
trace in thread.c:  473       if ((ret = write( get_unix_fd( thread->wait_fd ), &reply, sizeof(reply) )) == sizeof(reply))
trace in fd.c: 1410       if (fd->unix_fd == -1) set_error( STATUS_VOLUME_DISMOUNTED );
trace in fd.c: 1411       return fd->unix_fd;
trace in fd.c: 1412   }
trace in thread.c:  474           return 0;
trace in thread.c:  482   }
trace in thread.c:  521       wake_thread( thread );
trace in thread.c:  491       for (count = 0; thread->wait; count++)
trace in thread.c:  502       return count;
trace in thread.c:  522   }
trace in fd.c:  504               free( timeout );
trace in fd.c:  499           while ((ptr = list_head( &expired_list )) != NULL)
trace in list.h:  121       return list_next( list, list );
trace in list.h:  105       struct list *ret = elem->next;
trace in list.h:  106       if (elem->next == list) ret = NULL;
trace in list.h:  107       return ret;
trace in list.h:  108   }
trace in list.h:  122   }
trace in fd.c:  501               struct timeout_user *timeout = LIST_ENTRY( ptr, struct timeout_user, entry );
trace in fd.c:  502               list_remove( &timeout->entry );
trace in list.h:   98       elem->next->prev = elem->prev;
trace in list.h:   99       elem->prev->next = elem->next;
trace in list.h:  100   }
trace in fd.c:  503               timeout->callback( timeout->private );
trace in registry.c: 1651       save_timeout_user = NULL;
trace in registry.c: 1652       for (i = 0; i < save_branch_count; i++)
trace in registry.c: 1653           save_branch( save_branch_info[i].key, save_branch_info[i].path );
trace in registry.c: 1563       char *p, *real, *tmp = NULL;
trace in registry.c: 1564       int fd, count = 0, ret = 0, by_symlink;
trace in registry.c: 1567       if (!(key->flags & KEY_DIRTY))
trace in registry.c: 1569           if (debug_level > 1) dump_operation( key, NULL, "Not saving clean" );
trace in registry.c:  254       fprintf( stderr, "%s key ", op );
trace in registry.c:  255       if (key) dump_path( key, NULL, stderr );
trace in registry.c:  172       if (key->parent && key->parent != base)
trace in registry.c:  174           dump_path( key->parent, base, f );
trace in registry.c:  172       if (key->parent && key->parent != base)
trace in registry.c:  177       dump_strW( key->name, key->namelen / sizeof(WCHAR), f, "[]" );
trace in unicode.c:   34       char *pos = buffer;
trace in unicode.c:   35       int count = 0;
trace in unicode.c:   37       for (; len; str++, len--)
trace in unicode.c:   67       fwrite( buffer, pos - buffer, 1, f );
trace in unicode.c:   68       count += pos - buffer;
trace in unicode.c:   69       return count;
trace in registry.c:  178   }
trace in registry.c:  175           fprintf( f, "\\\\" );
trace in registry.c:  177       dump_strW( key->name, key->namelen / sizeof(WCHAR), f, "[]" );
trace in unicode.c:   34       char *pos = buffer;
trace in unicode.c:   35       int count = 0;
trace in unicode.c:   37       for (; len; str++, len--)
trace in unicode.c:   39           if (pos > buffer + sizeof(buffer) - 8)
trace in unicode.c:   45           if (*str > 127)  /* hex escape */
trace in unicode.c:   53           if (*str < 32)  /* octal or C escape */
trace in unicode.c:   64           if (*str == '\\' || *str == escape[0] || *str == escape[1]) *pos++ = '\\';
trace in unicode.c:   65           *pos++ = *str;
trace in unicode.c:   37       for (; len; str++, len--)
trace in unicode.c:   39           if (pos > buffer + sizeof(buffer) - 8)
trace in unicode.c:   45           if (*str > 127)  /* hex escape */
trace in unicode.c:   53           if (*str < 32)  /* octal or C escape */
trace in unicode.c:   64           if (*str == '\\' || *str == escape[0] || *str == escape[1]) *pos++ = '\\';
trace in unicode.c:   65           *pos++ = *str;
trace in unicode.c:   37       for (; len; str++, len--)
trace in unicode.c:   39           if (pos > buffer + sizeof(buffer) - 8)
trace in unicode.c:   45           if (*str > 127)  /* hex escape */
trace in unicode.c:   53           if (*str < 32)  /* octal or C escape */
trace in unicode.c:   64           if (*str == '\\' || *str == escape[0] || *str == escape[1]) *pos++ = '\\';
trace in unicode.c:   65           *pos++ = *str;
trace in unicode.c:   37       for (; len; str++, len--)
trace in unicode.c:   39           if (pos > buffer + sizeof(buffer) - 8)
trace in unicode.c:   45           if (*str > 127)  /* hex escape */
trace in unicode.c:   53           if (*str < 32)  /* octal or C escape */
trace in unicode.c:   64           if (*str == '\\' || *str == escape[0] || *str == escape[1]) *pos++ = '\\';
trace in unicode.c:   65           *pos++ = *str;
trace in unicode.c:   37       for (; len; str++, len--)
trace in unicode.c:   39           if (pos > buffer + sizeof(buffer) - 8)
trace in unicode.c:   45           if (*str > 127)  /* hex escape */
trace in unicode.c:   53           if (*str < 32)  /* octal or C escape */
trace in unicode.c:   64           if (*str == '\\' || *str == escape[0] || *str == escape[1]) *pos++ = '\\';
trace in unicode.c:   65           *pos++ = *str;
trace in unicode.c:   37       for (; len; str++, len--)
trace in unicode.c:   39           if (pos > buffer + sizeof(buffer) - 8)
trace in unicode.c:   45           if (*str > 127)  /* hex escape */
trace in unicode.c:   53           if (*str < 32)  /* octal or C escape */
trace in unicode.c:   64           if (*str == '\\' || *str == escape[0] || *str == escape[1]) *pos++ = '\\';
trace in unicode.c:   65           *pos++ = *str;
trace in unicode.c:   37       for (; len; str++, len--)
trace in unicode.c:   39           if (pos > buffer + sizeof(buffer) - 8)
trace in unicode.c:   45           if (*str > 127)  /* hex escape */
trace in unicode.c:   53           if (*str < 32)  /* octal or C escape */
trace in unicode.c:   64           if (*str == '\\' || *str == escape[0] || *str == escape[1]) *pos++ = '\\';
trace in unicode.c:   65           *pos++ = *str;
trace in unicode.c:   37       for (; len; str++, len--)
trace in unicode.c:   67       fwrite( buffer, pos - buffer, 1, f );
trace in unicode.c:   68       count += pos - buffer;
trace in unicode.c:   69       return count;
trace in registry.c:  178   }
trace in registry.c:  257       if (value)
trace in registry.c:  262       else fprintf( stderr, "\n" );
Not saving clean key \\Machine
trace in registry.c:  263   }
trace in registry.c: 1570           return 1;
trace in registry.c: 1652       for (i = 0; i < save_branch_count; i++)
trace in registry.c: 1653           save_branch( save_branch_info[i].key, save_branch_info[i].path );
trace in registry.c: 1563       char *p, *real, *tmp = NULL;
trace in registry.c: 1564       int fd, count = 0, ret = 0, by_symlink;
trace in registry.c: 1567       if (!(key->flags & KEY_DIRTY))
trace in registry.c: 1569           if (debug_level > 1) dump_operation( key, NULL, "Not saving clean" );
trace in registry.c:  254       fprintf( stderr, "%s key ", op );
trace in registry.c:  255       if (key) dump_path( key, NULL, stderr );
trace in registry.c:  172       if (key->parent && key->parent != base)
trace in registry.c:  174           dump_path( key->parent, base, f );
trace in registry.c:  172       if (key->parent && key->parent != base)
trace in registry.c:  174           dump_path( key->parent, base, f );
trace in registry.c:  172       if (key->parent && key->parent != base)
trace in registry.c:  177       dump_strW( key->name, key->namelen / sizeof(WCHAR), f, "[]" );
trace in unicode.c:   34       char *pos = buffer;
trace in unicode.c:   35       int count = 0;
trace in unicode.c:   37       for (; len; str++, len--)
trace in unicode.c:   67       fwrite( buffer, pos - buffer, 1, f );
trace in unicode.c:   68       count += pos - buffer;
trace in unicode.c:   69       return count;
trace in registry.c:  178   }
trace in registry.c:  175           fprintf( f, "\\\\" );
trace in registry.c:  177       dump_strW( key->name, key->namelen / sizeof(WCHAR), f, "[]" );
trace in unicode.c:   34       char *pos = buffer;
trace in unicode.c:   35       int count = 0;
trace in unicode.c:   37       for (; len; str++, len--)
trace in unicode.c:   39           if (pos > buffer + sizeof(buffer) - 8)
trace in unicode.c:   45           if (*str > 127)  /* hex escape */
trace in unicode.c:   53           if (*str < 32)  /* octal or C escape */
trace in unicode.c:   64           if (*str == '\\' || *str == escape[0] || *str == escape[1]) *pos++ = '\\';
trace in unicode.c:   65           *pos++ = *str;
trace in unicode.c:   37       for (; len; str++, len--)
trace in unicode.c:   39           if (pos > buffer + sizeof(buffer) - 8)
trace in unicode.c:   45           if (*str > 127)  /* hex escape */
trace in unicode.c:   53           if (*str < 32)  /* octal or C escape */
trace in unicode.c:   64           if (*str == '\\' || *str == escape[0] || *str == escape[1]) *pos++ = '\\';
trace in unicode.c:   65           *pos++ = *str;
trace in unicode.c:   37       for (; len; str++, len--)
trace in unicode.c:   39           if (pos > buffer + sizeof(buffer) - 8)
trace in unicode.c:   45           if (*str > 127)  /* hex escape */
trace in unicode.c:   53           if (*str < 32)  /* octal or C escape */
trace in unicode.c:   64           if (*str == '\\' || *str == escape[0] || *str == escape[1]) *pos++ = '\\';
trace in unicode.c:   65           *pos++ = *str;
trace in unicode.c:   37       for (; len; str++, len--)
trace in unicode.c:   39           if (pos > buffer + sizeof(buffer) - 8)
trace in unicode.c:   45           if (*str > 127)  /* hex escape */
trace in unicode.c:   53           if (*str < 32)  /* octal or C escape */
trace in unicode.c:   64           if (*str == '\\' || *str == escape[0] || *str == escape[1]) *pos++ = '\\';
trace in unicode.c:   65           *pos++ = *str;
trace in unicode.c:   37       for (; len; str++, len--)
trace in unicode.c:   67       fwrite( buffer, pos - buffer, 1, f );
trace in unicode.c:   68       count += pos - buffer;
trace in unicode.c:   69       return count;
trace in registry.c:  178   }
trace in registry.c:  175           fprintf( f, "\\\\" );
trace in registry.c:  177       dump_strW( key->name, key->namelen / sizeof(WCHAR), f, "[]" );
trace in unicode.c:   34       char *pos = buffer;
trace in unicode.c:   35       int count = 0;
trace in unicode.c:   37       for (; len; str++, len--)
trace in unicode.c:   39           if (pos > buffer + sizeof(buffer) - 8)
trace in unicode.c:   45           if (*str > 127)  /* hex escape */
trace in unicode.c:   53           if (*str < 32)  /* octal or C escape */
trace in unicode.c:   64           if (*str == '\\' || *str == escape[0] || *str == escape[1]) *pos++ = '\\';
trace in unicode.c:   65           *pos++ = *str;
trace in unicode.c:   37       for (; len; str++, len--)
trace in unicode.c:   39           if (pos > buffer + sizeof(buffer) - 8)
trace in unicode.c:   45           if (*str > 127)  /* hex escape */
trace in unicode.c:   53           if (*str < 32)  /* octal or C escape */
trace in unicode.c:   64           if (*str == '\\' || *str == escape[0] || *str == escape[1]) *pos++ = '\\';
trace in unicode.c:   65           *pos++ = *str;
trace in unicode.c:   37       for (; len; str++, len--)
trace in unicode.c:   39           if (pos > buffer + sizeof(buffer) - 8)
trace in unicode.c:   45           if (*str > 127)  /* hex escape */
trace in unicode.c:   53           if (*str < 32)  /* octal or C escape */
trace in unicode.c:   64           if (*str == '\\' || *str == escape[0] || *str == escape[1]) *pos++ = '\\';
trace in unicode.c:   65           *pos++ = *str;
trace in unicode.c:   37       for (; len; str++, len--)
trace in unicode.c:   39           if (pos > buffer + sizeof(buffer) - 8)
trace in unicode.c:   45           if (*str > 127)  /* hex escape */
trace in unicode.c:   53           if (*str < 32)  /* octal or C escape */
trace in unicode.c:   64           if (*str == '\\' || *str == escape[0] || *str == escape[1]) *pos++ = '\\';
trace in unicode.c:   65           *pos++ = *str;
trace in unicode.c:   37       for (; len; str++, len--)
trace in unicode.c:   39           if (pos > buffer + sizeof(buffer) - 8)
trace in unicode.c:   45           if (*str > 127)  /* hex escape */
trace in unicode.c:   53           if (*str < 32)  /* octal or C escape */
trace in unicode.c:   64           if (*str == '\\' || *str == escape[0] || *str == escape[1]) *pos++ = '\\';
trace in unicode.c:   65           *pos++ = *str;
trace in unicode.c:   37       for (; len; str++, len--)
trace in unicode.c:   39           if (pos > buffer + sizeof(buffer) - 8)
trace in unicode.c:   45           if (*str > 127)  /* hex escape */
trace in unicode.c:   53           if (*str < 32)  /* octal or C escape */
trace in unicode.c:   64           if (*str == '\\' || *str == escape[0] || *str == escape[1]) *pos++ = '\\';
trace in unicode.c:   65           *pos++ = *str;
trace in unicode.c:   37       for (; len; str++, len--)
trace in unicode.c:   39           if (pos > buffer + sizeof(buffer) - 8)
trace in unicode.c:   45           if (*str > 127)  /* hex escape */
trace in unicode.c:   53           if (*str < 32)  /* octal or C escape */
trace in unicode.c:   64           if (*str == '\\' || *str == escape[0] || *str == escape[1]) *pos++ = '\\';
trace in unicode.c:   65           *pos++ = *str;
trace in unicode.c:   37       for (; len; str++, len--)
trace in unicode.c:   39           if (pos > buffer + sizeof(buffer) - 8)
trace in unicode.c:   45           if (*str > 127)  /* hex escape */
trace in unicode.c:   53           if (*str < 32)  /* octal or C escape */
trace in unicode.c:   64           if (*str == '\\' || *str == escape[0] || *str == escape[1]) *pos++ = '\\';
trace in unicode.c:   65           *pos++ = *str;
trace in unicode.c:   37       for (; len; str++, len--)
trace in unicode.c:   67       fwrite( buffer, pos - buffer, 1, f );
trace in unicode.c:   68       count += pos - buffer;
trace in unicode.c:   69       return count;
trace in registry.c:  178   }
trace in registry.c:  257       if (value)
trace in registry.c:  262       else fprintf( stderr, "\n" );
Not saving clean key \\User\\.Default
trace in registry.c:  263   }
trace in registry.c: 1570           return 1;
trace in registry.c: 1652       for (i = 0; i < save_branch_count; i++)
trace in registry.c: 1653           save_branch( save_branch_info[i].key, save_branch_info[i].path );
trace in registry.c: 1563       char *p, *real, *tmp = NULL;
trace in registry.c: 1564       int fd, count = 0, ret = 0, by_symlink;
trace in registry.c: 1567       if (!(key->flags & KEY_DIRTY))
trace in registry.c: 1569           if (debug_level > 1) dump_operation( key, NULL, "Not saving clean" );
trace in registry.c:  254       fprintf( stderr, "%s key ", op );
trace in registry.c:  255       if (key) dump_path( key, NULL, stderr );
trace in registry.c:  172       if (key->parent && key->parent != base)
trace in registry.c:  174           dump_path( key->parent, base, f );
trace in registry.c:  172       if (key->parent && key->parent != base)
trace in registry.c:  174           dump_path( key->parent, base, f );
trace in registry.c:  172       if (key->parent && key->parent != base)
trace in registry.c:  177       dump_strW( key->name, key->namelen / sizeof(WCHAR), f, "[]" );
trace in unicode.c:   34       char *pos = buffer;
trace in unicode.c:   35       int count = 0;
trace in unicode.c:   37       for (; len; str++, len--)
trace in unicode.c:   67       fwrite( buffer, pos - buffer, 1, f );
trace in unicode.c:   68       count += pos - buffer;
trace in unicode.c:   69       return count;
trace in registry.c:  178   }
trace in registry.c:  175           fprintf( f, "\\\\" );
trace in registry.c:  177       dump_strW( key->name, key->namelen / sizeof(WCHAR), f, "[]" );
trace in unicode.c:   34       char *pos = buffer;
trace in unicode.c:   35       int count = 0;
trace in unicode.c:   37       for (; len; str++, len--)
trace in unicode.c:   39           if (pos > buffer + sizeof(buffer) - 8)
trace in unicode.c:   45           if (*str > 127)  /* hex escape */
trace in unicode.c:   53           if (*str < 32)  /* octal or C escape */
trace in unicode.c:   64           if (*str == '\\' || *str == escape[0] || *str == escape[1]) *pos++ = '\\';
trace in unicode.c:   65           *pos++ = *str;
trace in unicode.c:   37       for (; len; str++, len--)
trace in unicode.c:   39           if (pos > buffer + sizeof(buffer) - 8)
trace in unicode.c:   45           if (*str > 127)  /* hex escape */
trace in unicode.c:   53           if (*str < 32)  /* octal or C escape */
trace in unicode.c:   64           if (*str == '\\' || *str == escape[0] || *str == escape[1]) *pos++ = '\\';
trace in unicode.c:   65           *pos++ = *str;
trace in unicode.c:   37       for (; len; str++, len--)
trace in unicode.c:   39           if (pos > buffer + sizeof(buffer) - 8)
trace in unicode.c:   45           if (*str > 127)  /* hex escape */
trace in unicode.c:   53           if (*str < 32)  /* octal or C escape */
trace in unicode.c:   64           if (*str == '\\' || *str == escape[0] || *str == escape[1]) *pos++ = '\\';
trace in unicode.c:   65           *pos++ = *str;
trace in unicode.c:   37       for (; len; str++, len--)
trace in unicode.c:   39           if (pos > buffer + sizeof(buffer) - 8)
trace in unicode.c:   45           if (*str > 127)  /* hex escape */
trace in unicode.c:   53           if (*str < 32)  /* octal or C escape */
trace in unicode.c:   64           if (*str == '\\' || *str == escape[0] || *str == escape[1]) *pos++ = '\\';
trace in unicode.c:   65           *pos++ = *str;
trace in unicode.c:   37       for (; len; str++, len--)
trace in unicode.c:   67       fwrite( buffer, pos - buffer, 1, f );
trace in unicode.c:   68       count += pos - buffer;
trace in unicode.c:   69       return count;
trace in registry.c:  178   }
trace in registry.c:  175           fprintf( f, "\\\\" );
trace in registry.c:  177       dump_strW( key->name, key->namelen / sizeof(WCHAR), f, "[]" );
trace in unicode.c:   34       char *pos = buffer;
trace in unicode.c:   35       int count = 0;
trace in unicode.c:   37       for (; len; str++, len--)
trace in unicode.c:   39           if (pos > buffer + sizeof(buffer) - 8)
trace in unicode.c:   45           if (*str > 127)  /* hex escape */
trace in unicode.c:   53           if (*str < 32)  /* octal or C escape */
trace in unicode.c:   64           if (*str == '\\' || *str == escape[0] || *str == escape[1]) *pos++ = '\\';
trace in unicode.c:   65           *pos++ = *str;
trace in unicode.c:   37       for (; len; str++, len--)
trace in unicode.c:   39           if (pos > buffer + sizeof(buffer) - 8)
trace in unicode.c:   45           if (*str > 127)  /* hex escape */
trace in unicode.c:   53           if (*str < 32)  /* octal or C escape */
trace in unicode.c:   64           if (*str == '\\' || *str == escape[0] || *str == escape[1]) *pos++ = '\\';
trace in unicode.c:   65           *pos++ = *str;
trace in unicode.c:   37       for (; len; str++, len--)
trace in unicode.c:   39           if (pos > buffer + sizeof(buffer) - 8)
trace in unicode.c:   45           if (*str > 127)  /* hex escape */
trace in unicode.c:   53           if (*str < 32)  /* octal or C escape */
trace in unicode.c:   64           if (*str == '\\' || *str == escape[0] || *str == escape[1]) *pos++ = '\\';
trace in unicode.c:   65           *pos++ = *str;
trace in unicode.c:   37       for (; len; str++, len--)
trace in unicode.c:   39           if (pos > buffer + sizeof(buffer) - 8)
trace in unicode.c:   45           if (*str > 127)  /* hex escape */
trace in unicode.c:   53           if (*str < 32)  /* octal or C escape */
trace in unicode.c:   64           if (*str == '\\' || *str == escape[0] || *str == escape[1]) *pos++ = '\\';
trace in unicode.c:   65           *pos++ = *str;
trace in unicode.c:   37       for (; len; str++, len--)
trace in unicode.c:   39           if (pos > buffer + sizeof(buffer) - 8)
trace in unicode.c:   45           if (*str > 127)  /* hex escape */
trace in unicode.c:   53           if (*str < 32)  /* octal or C escape */
trace in unicode.c:   64           if (*str == '\\' || *str == escape[0] || *str == escape[1]) *pos++ = '\\';
trace in unicode.c:   65           *pos++ = *str;
trace in unicode.c:   37       for (; len; str++, len--)
trace in unicode.c:   39           if (pos > buffer + sizeof(buffer) - 8)
trace in unicode.c:   45           if (*str > 127)  /* hex escape */
trace in unicode.c:   53           if (*str < 32)  /* octal or C escape */
trace in unicode.c:   64           if (*str == '\\' || *str == escape[0] || *str == escape[1]) *pos++ = '\\';
trace in unicode.c:   65           *pos++ = *str;
trace in unicode.c:   37       for (; len; str++, len--)
trace in unicode.c:   39           if (pos > buffer + sizeof(buffer) - 8)
trace in unicode.c:   45           if (*str > 127)  /* hex escape */
trace in unicode.c:   53           if (*str < 32)  /* octal or C escape */
trace in unicode.c:   64           if (*str == '\\' || *str == escape[0] || *str == escape[1]) *pos++ = '\\';
trace in unicode.c:   65           *pos++ = *str;
trace in unicode.c:   37       for (; len; str++, len--)
trace in unicode.c:   67       fwrite( buffer, pos - buffer, 1, f );
trace in unicode.c:   68       count += pos - buffer;
trace in unicode.c:   69       return count;
trace in registry.c:  178   }
trace in registry.c:  257       if (value)
trace in registry.c:  262       else fprintf( stderr, "\n" );
Not saving clean key \\User\\S-1-5-4
trace in registry.c:  263   }
trace in registry.c: 1570           return 1;
trace in registry.c: 1652       for (i = 0; i < save_branch_count; i++)
trace in registry.c: 1654       set_periodic_save_timer();
trace in registry.c: 1658   static void set_periodic_save_timer(void)
trace in registry.c: 1662       gettimeofday( &next, NULL );
trace in registry.c: 1663       add_timeout( &next, save_period );
trace in fd.c:  327       if (timeout)
trace in fd.c:  329           long sec = timeout / 1000;
trace in fd.c:  330           if ((when->tv_usec += (timeout - 1000*sec) * 1000) >= 1000000)
trace in fd.c:  335           when->tv_sec += sec;
trace in fd.c:  337   }
trace in registry.c: 1664       if (save_timeout_user) remove_timeout_user( save_timeout_user );
trace in registry.c: 1665       save_timeout_user = add_timeout_user( &next, periodic_save, NULL );
trace in fd.c:  301       if (!(user = mem_alloc( sizeof(*user) ))) return NULL;
trace in object.c:   75       void *ptr = malloc( size );
trace in object.c:   76       if (ptr) memset( ptr, 0x55, size );
trace in object.c:   78       return ptr;
trace in object.c:   79   }
trace in fd.c:  302       user->when     = *when;
trace in fd.c:  303       user->callback = func;
trace in fd.c:  304       user->private  = private;
trace in fd.c:  308       LIST_FOR_EACH( ptr, &timeout_list )
trace in fd.c:  313       list_add_before( ptr, &user->entry );
trace in list.h:   77       to_add->next = elem;
trace in list.h:   78       to_add->prev = elem->prev;
trace in list.h:   79       elem->prev->next = to_add;
trace in list.h:   80       elem->prev = to_add;
trace in list.h:   81   }
trace in fd.c:  314       return user;
trace in registry.c: 1666   }
trace in registry.c: 1655   }
trace in fd.c:  504               free( timeout );
trace in fd.c:  499           while ((ptr = list_head( &expired_list )) != NULL)
trace in list.h:  121       return list_next( list, list );
trace in list.h:  105       struct list *ret = elem->next;
trace in list.h:  106       if (elem->next == list) ret = NULL;
trace in list.h:  107       return ret;
trace in list.h:  108   }
trace in list.h:  122   }
trace in fd.c:  507           if ((ptr = list_head( &timeout_list )) != NULL)
trace in list.h:  121       return list_next( list, list );
trace in list.h:  105       struct list *ret = elem->next;
trace in list.h:  106       if (elem->next == list) ret = NULL;
trace in list.h:  107       return ret;
trace in list.h:  108   }
trace in list.h:  122   }
trace in fd.c:  509               struct timeout_user *timeout = LIST_ENTRY( ptr, struct timeout_user, entry );
trace in fd.c:  510               int diff = (timeout->when.tv_sec - now.tv_sec) * 1000
trace in fd.c:  512               if (diff < 0) diff = 0;
trace in fd.c:  513               return diff;
trace in fd.c:  517   }
trace in fd.c:  563           if (!active_users) break;  /* last user removed by a timeout */
trace in fd.c:  565           ret = poll( pollfd, nb_users, timeout );
trace in fd.c:  566           if (ret > 0)
trace in fd.c:  568               for (i = 0; i < nb_users; i++)
trace in fd.c:  570                   if (pollfd[i].revents)
trace in fd.c:  568               for (i = 0; i < nb_users; i++)
trace in fd.c:  570                   if (pollfd[i].revents)
trace in fd.c:  568               for (i = 0; i < nb_users; i++)
trace in fd.c:  570                   if (pollfd[i].revents)
trace in fd.c:  568               for (i = 0; i < nb_users; i++)
trace in fd.c:  570                   if (pollfd[i].revents)
trace in fd.c:  568               for (i = 0; i < nb_users; i++)
trace in fd.c:  570                   if (pollfd[i].revents)
trace in fd.c:  568               for (i = 0; i < nb_users; i++)
trace in fd.c:  570                   if (pollfd[i].revents)
trace in fd.c:  568               for (i = 0; i < nb_users; i++)
trace in fd.c:  570                   if (pollfd[i].revents)
trace in fd.c:  568               for (i = 0; i < nb_users; i++)
trace in fd.c:  570                   if (pollfd[i].revents)
trace in fd.c:  572                       fd_poll_event( poll_users[i], pollfd[i].revents );
trace in fd.c: 1423       fd->fd_ops->poll_event( fd, event );
trace in thread.c:  196       struct wine_thread *thread = get_fd_user( fd );
trace in fd.c: 1404       return fd->user;
trace in fd.c: 1405   }
trace in thread.c:  197       assert( thread->obj.ops == &thread_ops );
trace in thread.c:  199       if (event & (POLLERR | POLLHUP)) kill_thread( thread, 0 );
trace in thread.c:  200       else if (event & POLLIN) read_request( thread );
trace in request.c:  306       if (!thread->req_toread)  /* no pending request */
trace in request.c:  308           if ((ret = read( get_unix_fd( thread->request_fd ), &thread->req,
trace in fd.c: 1410       if (fd->unix_fd == -1) set_error( STATUS_VOLUME_DISMOUNTED );
trace in fd.c: 1411       return fd->unix_fd;
trace in fd.c: 1412   }
trace in request.c:  310           if (!(thread->req_toread = thread->req.request_header.request_size))
trace in request.c:  316           if (!(thread->req_data = malloc( thread->req_toread )))
trace in request.c:  323           ret = read( get_unix_fd( thread->request_fd ),
trace in fd.c: 1410       if (fd->unix_fd == -1) set_error( STATUS_VOLUME_DISMOUNTED );
trace in fd.c: 1411       return fd->unix_fd;
trace in fd.c: 1412   }
trace in request.c:  327           if (ret <= 0) break;
trace in request.c:  328           if (!(thread->req_toread -= ret))
trace in request.c:  330               call_req_handler( thread );
trace in request.c:  272       enum request req = thread->req.request_header.req;
trace in request.c:  274       current = thread;
trace in request.c:  275       current->reply_size = 0;
trace in request.c:  276       clear_error();
trace in thread.h:  143   static inline void clear_error(void)             { set_error(0); }
trace in thread.h:  142   static inline void set_error( unsigned int err ) { global_error = err; if (current) current->error = err; }
trace in thread.h:  143   static inline void clear_error(void)             { set_error(0); }
trace in request.c:  277       memset( &reply, 0, sizeof(reply) );
trace in request.c:  279       if (debug_level) trace_request();
trace in trace.c: 3806   void trace_request(void)
trace in trace.c: 3808       enum request req = current->req.request_header.req;
trace in trace.c: 3809       if (req < REQ_NB_REQUESTS)
trace in trace.c: 3811           fprintf( stderr, "%04x: %s(", current->id, req_names[req] );
trace in trace.c: 3812           if (req_dumpers[req])
trace in trace.c: 3814               cur_pos = 0;
trace in trace.c: 3815               cur_data = get_req_data();
trace in request.h:   71       return current->req_data;
trace in request.h:   72   }
trace in trace.c: 3816               cur_size = get_req_data_size();
trace in request.h:   77       return current->req.request_header.request_size;
trace in request.h:   78   }
trace in trace.c: 3817               req_dumpers[req]( &current->req );
trace in trace.c:  880       fprintf( stderr, " flags=%d,", req->flags );
trace in trace.c:  881       fprintf( stderr, " cookie=%p,", req->cookie );
trace in trace.c:  882       fprintf( stderr, " signal=%p,", req->signal );
trace in trace.c:  883       fprintf( stderr, " timeout=" );
trace in trace.c:  884       dump_abs_time( &req->timeout );
trace in trace.c:   68       if (!time->sec && !time->usec)
trace in trace.c:   73       gettimeofday( &tv, NULL );
trace in trace.c:   74       secs = time->sec - tv.tv_sec;
trace in trace.c:   75       if ((usecs = time->usec - tv.tv_usec) < 0)
trace in trace.c:   77           usecs += 1000000;
trace in trace.c:   78           secs--;
trace in trace.c:   80       if (secs > 0 || (secs == 0 && usecs >= 0))
trace in trace.c:   81           fprintf( stderr, "%d.%06d (+%d.%06d)", time->sec, time->usec, secs, usecs );
trace in trace.c:   84   }
trace in trace.c:  885       fprintf( stderr, "," );
trace in trace.c:  886       fprintf( stderr, " handles=" );
trace in trace.c:  887       dump_varargs_handles( cur_size );
trace in trace.c:  148       const obj_handle_t *data = cur_data;
trace in trace.c:  149       size_t len = size / sizeof(*data);
trace in trace.c:  151       fputc( '{', stderr );
trace in trace.c:  152       while (len > 0)
trace in trace.c:  154           fprintf( stderr, "%p", *data++ );
trace in trace.c:  155           if (--len) fputc( ',', stderr );
trace in trace.c:  152       while (len > 0)
trace in trace.c:  157       fputc( '}', stderr );
trace in trace.c:  158       remove_data( size );
trace in trace.c:   48       cur_data = (const char *)cur_data + size;
trace in trace.c:   49       cur_size -= size;
trace in trace.c:   50   }
trace in trace.c:  159   }
trace in trace.c:  888   }
trace in trace.c: 3819           fprintf( stderr, " )\n" );
0009: select( flags=12, cookie=2ff1fac4, signal=0, timeout=1135997848.365019 (+58.908214), handles={c} )
trace in trace.c: 3820       }
trace in trace.c: 3822   }
trace in request.c:  281       if (req < REQ_NB_REQUESTS)
trace in request.c:  283           req_handlers[req]( &current->req, &reply );
trace in thread.c: 1001       int count = get_req_data_size() / sizeof(int);
trace in request.h:   77       return current->req.request_header.request_size;
trace in request.h:   78   }
trace in thread.c: 1002       select_on( count, req->cookie, get_req_data(), req->flags, &req->timeout, req->signal );
trace in request.h:   71       return current->req_data;
trace in request.h:   72   }
trace in thread.c:  546       if ((count < 0) || (count > MAXIMUM_WAIT_OBJECTS))
trace in thread.c:  551       for (i = 0; i < count; i++)
trace in thread.c:  553           if (!(objects[i] = get_handle_obj( current->process, handles[i], SYNCHRONIZE, NULL )))
trace in handle.c:  388       if (!(obj = get_magic_handle( handle )))
trace in handle.c:  369       switch((unsigned long)handle)
trace in handle.c:  377               return NULL;
trace in handle.c:  390           if (!(entry = get_handle( process, handle ))) return NULL;
trace in handle.c:  251       struct handle_table *table = process->handles;
trace in handle.c:  255       if (handle_is_global(handle))
trace in handle.c:   85       return ((unsigned long)handle ^ HANDLE_OBFUSCATOR) < 0x10000;
trace in handle.c:   86   }
trace in handle.c:  260       if (!table) goto error;
trace in handle.c:  261       index = handle_to_index( handle );
trace in handle.c:   76       return ((unsigned int)handle >> 2) - 1;
trace in handle.c:   77   }
trace in handle.c:  262       if (index < 0) goto error;
trace in handle.c:  263       if (index > table->last) goto error;
trace in handle.c:  264       entry = table->entries + index;
trace in handle.c:  265       if (!entry->ptr) goto error;
trace in handle.c:  266       return entry;
trace in handle.c:  391           if ((entry->access & access) != access)
trace in handle.c:  396           obj = entry->ptr;
trace in handle.c:  398       if (ops && (obj->ops != ops))
trace in handle.c:  403       return grab_object( obj );
trace in object.c:  208       struct object *obj = (struct object *)ptr;
trace in object.c:  209       assert( obj->refcount < INT_MAX );
trace in object.c:  210       obj->refcount++;
trace in object.c:  211       return obj;
trace in object.c:  212   }
trace in handle.c:  404   }
trace in thread.c:  551       for (i = 0; i < count; i++)
trace in thread.c:  557       if (i < count) goto done;
trace in thread.c:  558       if (!wait_on( count, objects, flags, timeout )) goto done;
trace in thread.c:  387       if (!(wait = mem_alloc( sizeof(*wait) + (count-1) * sizeof(*entry) ))) return 0;
trace in object.c:   75       void *ptr = malloc( size );
trace in object.c:   76       if (ptr) memset( ptr, 0x55, size );
trace in object.c:   78       return ptr;
trace in object.c:   79   }
trace in thread.c:  388       wait->next    = current->wait;
trace in thread.c:  389       wait->thread  = current;
trace in thread.c:  390       wait->count   = count;
trace in thread.c:  391       wait->flags   = flags;
trace in thread.c:  392       wait->user    = NULL;
trace in thread.c:  393       current->wait = wait;
trace in thread.c:  394       if (flags & SELECT_TIMEOUT)
trace in thread.c:  396           wait->timeout.tv_sec  = timeout->sec;
trace in thread.c:  397           wait->timeout.tv_usec = timeout->usec;
trace in thread.c:  400       for (i = 0, entry = wait->queues; i < count; i++, entry++)
trace in thread.c:  402           struct object *obj = objects[i];
trace in thread.c:  403           entry->thread = current;
trace in thread.c:  404           if (!obj->ops->add_queue( obj, entry ))
trace in thread.c:  352       grab_object( obj );
trace in object.c:  208       struct object *obj = (struct object *)ptr;
trace in object.c:  209       assert( obj->refcount < INT_MAX );
trace in object.c:  210       obj->refcount++;
trace in object.c:  211       return obj;
trace in object.c:  212   }
trace in thread.c:  353       entry->obj = obj;
trace in thread.c:  354       list_add_tail( &obj->wait_queue, &entry->entry );
trace in list.h:   92       list_add_before( list, elem );
trace in list.h:   77       to_add->next = elem;
trace in list.h:   78       to_add->prev = elem->prev;
trace in list.h:   79       elem->prev->next = to_add;
trace in list.h:   80       elem->prev = to_add;
trace in list.h:   81   }
trace in list.h:   93   }
trace in thread.c:  355       return 1;
trace in thread.c:  356   }
trace in thread.c:  400       for (i = 0, entry = wait->queues; i < count; i++, entry++)
trace in thread.c:  411       return 1;
trace in thread.c:  561       if (signal_obj)
trace in thread.c:  572       if ((ret = check_wait( current )) != -1)
trace in thread.c:  418       struct wine_thread_wait *wait = thread->wait;
trace in thread.c:  419       struct wait_queue_entry *entry = wait->queues;
trace in thread.c:  422       if (thread->process->suspend + thread->suspend > 0) return -1;
trace in thread.c:  424       assert( wait );
trace in thread.c:  425       if (wait->flags & SELECT_ALL)
trace in thread.c:  442           for (i = 0, entry = wait->queues; i < wait->count; i++, entry++)
trace in thread.c:  444               if (!entry->obj->ops->signaled( entry->obj, thread )) continue;
trace in semaphore.c:  119       struct semaphore *sem = (struct semaphore *)obj;
trace in semaphore.c:  120       assert( obj->ops == &semaphore_ops );
trace in semaphore.c:  121       return (sem->count > 0);
trace in semaphore.c:  122   }
trace in thread.c:  444               if (!entry->obj->ops->signaled( entry->obj, thread )) continue;
trace in thread.c:  442           for (i = 0, entry = wait->queues; i < wait->count; i++, entry++)
trace in thread.c:  454       if ((wait->flags & SELECT_INTERRUPTIBLE) && !list_empty(&thread->system_apc)) return STATUS_USER_APC;
trace in list.h:  133       return list->next == list;
trace in list.h:  134   }
trace in thread.c:  455       if ((wait->flags & SELECT_ALERTABLE) && !list_empty(&thread->user_apc)) return STATUS_USER_APC;
trace in thread.c:  456       if (wait->flags & SELECT_TIMEOUT)
trace in thread.c:  459           gettimeofday( &now, NULL );
trace in thread.c:  460           if (!time_before( &now, &wait->timeout )) return STATUS_TIMEOUT;
trace in file.h:   93       return ((t1->tv_sec < t2->tv_sec) ||
trace in file.h:   95   }
trace in thread.c:  462       return -1;
trace in thread.c:  581       if (flags & SELECT_TIMEOUT)
trace in thread.c:  583           if (!(current->wait->user = add_timeout_user( &current->wait->timeout,
trace in fd.c:  301       if (!(user = mem_alloc( sizeof(*user) ))) return NULL;
trace in object.c:   75       void *ptr = malloc( size );
trace in object.c:   76       if (ptr) memset( ptr, 0x55, size );
trace in object.c:   78       return ptr;
trace in object.c:   79   }
trace in fd.c:  302       user->when     = *when;
trace in fd.c:  303       user->callback = func;
trace in fd.c:  304       user->private  = private;
trace in fd.c:  308       LIST_FOR_EACH( ptr, &timeout_list )
trace in fd.c:  310           struct timeout_user *timeout = LIST_ENTRY( ptr, struct timeout_user, entry );
trace in fd.c:  311           if (!time_before( &timeout->when, when )) break;
trace in file.h:   93       return ((t1->tv_sec < t2->tv_sec) ||
trace in file.h:   95   }
trace in fd.c:  308       LIST_FOR_EACH( ptr, &timeout_list )
trace in fd.c:  313       list_add_before( ptr, &user->entry );
trace in list.h:   77       to_add->next = elem;
trace in list.h:   78       to_add->prev = elem->prev;
trace in list.h:   79       elem->prev->next = to_add;
trace in list.h:   80       elem->prev = to_add;
trace in list.h:   81   }
trace in fd.c:  314       return user;
trace in thread.c:  590       current->wait->cookie = cookie;
trace in thread.c:  591       set_error( STATUS_PENDING );
trace in thread.h:  142   static inline void set_error( unsigned int err ) { global_error = err; if (current) current->error = err; }
trace in thread.c:  594       while (--i >= 0) release_object( objects[i] );
trace in object.c:  217       struct object *obj = (struct object *)ptr;
trace in object.c:  218       assert( obj->refcount );
trace in object.c:  219       if (!--obj->refcount)
trace in object.c:  231   }
trace in thread.c:  595   }
trace in thread.c: 1003   }
trace in request.c:  284           if (current)
trace in request.c:  286               if (current->reply_fd)
trace in request.c:  288                   reply.reply_header.error = current->error;
trace in request.c:  289                   reply.reply_header.reply_size = current->reply_size;
trace in request.c:  290                   if (debug_level) trace_reply( req, &reply );
trace in trace.c: 3826       if (req < REQ_NB_REQUESTS)
trace in trace.c: 3828           fprintf( stderr, "%04x: %s() = %s",
trace in trace.c: 3797       if (status)
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3799           for (i = 0; status_names[i].name; i++)
trace in trace.c: 3800               if (status_names[i].value == status) return status_names[i].name;
trace in trace.c: 3804   }
trace in trace.c: 3830           if (reply_dumpers[req])
trace in trace.c: 3839           fputc( '\n', stderr );
0009: select() = PENDING
trace in trace.c: 3840       }
trace in trace.c: 3843   }
trace in request.c:  291                   send_reply( &reply );
trace in request.c:  228       if (!current->reply_size)
trace in request.c:  230           if ((ret = write( get_unix_fd( current->reply_fd ),
trace in fd.c: 1410       if (fd->unix_fd == -1) set_error( STATUS_VOLUME_DISMOUNTED );
trace in fd.c: 1411       return fd->unix_fd;
trace in fd.c: 1412   }
trace in request.c:  232       }
trace in request.c:  252       if (current->reply_data)
trace in request.c:  257       return;
trace in request.c:  292               }
trace in request.c:  295           current = NULL;
trace in request.c:  296           return;
trace in request.c:  331               free( thread->req_data );
trace in request.c:  332               thread->req_data = NULL;
trace in request.c:  333               return;
trace in thread.c:  202   }
trace in fd.c: 1424   }
trace in fd.c:  573                       if (!--ret) break;
trace in fd.c:  559       while (active_users)
trace in fd.c:  561           timeout = get_next_timeout();
trace in fd.c:  473   static int get_next_timeout(void)
trace in fd.c:  475       if (!list_empty( &timeout_list ))
trace in list.h:  133       return list->next == list;
trace in list.h:  134   }
trace in fd.c:  480           gettimeofday( &now, NULL );
trace in fd.c:  484           list_init( &expired_list );
trace in list.h:  139       list->next = list->prev = list;
trace in list.h:  140   }
trace in fd.c:  485           while ((ptr = list_head( &timeout_list )) != NULL)
trace in list.h:  121       return list_next( list, list );
trace in list.h:  105       struct list *ret = elem->next;
trace in list.h:  106       if (elem->next == list) ret = NULL;
trace in list.h:  107       return ret;
trace in list.h:  108   }
trace in list.h:  122   }
trace in fd.c:  487               struct timeout_user *timeout = LIST_ENTRY( ptr, struct timeout_user, entry );
trace in fd.c:  489               if (!time_before( &now, &timeout->when ))
trace in file.h:   93       return ((t1->tv_sec < t2->tv_sec) ||
trace in file.h:   95   }
trace in fd.c:  494               else break;
trace in fd.c:  499           while ((ptr = list_head( &expired_list )) != NULL)
trace in list.h:  121       return list_next( list, list );
trace in list.h:  105       struct list *ret = elem->next;
trace in list.h:  106       if (elem->next == list) ret = NULL;
trace in list.h:  107       return ret;
trace in list.h:  108   }
trace in list.h:  122   }
trace in fd.c:  507           if ((ptr = list_head( &timeout_list )) != NULL)
trace in list.h:  121       return list_next( list, list );
trace in list.h:  105       struct list *ret = elem->next;
trace in list.h:  106       if (elem->next == list) ret = NULL;
trace in list.h:  107       return ret;
trace in list.h:  108   }
trace in list.h:  122   }
trace in fd.c:  509               struct timeout_user *timeout = LIST_ENTRY( ptr, struct timeout_user, entry );
trace in fd.c:  510               int diff = (timeout->when.tv_sec - now.tv_sec) * 1000
trace in fd.c:  512               if (diff < 0) diff = 0;
trace in fd.c:  513               return diff;
trace in fd.c:  517   }
trace in fd.c:  563           if (!active_users) break;  /* last user removed by a timeout */
trace in fd.c:  565           ret = poll( pollfd, nb_users, timeout );
^C
Interrupt in poll at 0xd0265ff4
0xd0265ff4 (poll+0x80) 80410014        lwz   r2,0x14(r1)
(dbx) q
hac1dev:ghart$

-------------- next part --------------
hac1dev:ghart$ dbx ./simpleClient
Type 'help' for help.
reading symbolic information ...trac
e(dbx)
[1] trace
(dbx) r
trace in main.C:   59       if (wine_main_preload_info)
trace in main.C:   68       AIX_set_pthread_funcs (); /* sets up thread function call table */
trace in pthread.C:  190   {
trace in pthread.C:  191       wine_pthread_set_functions (&AIX_pthread_functions,
trace in port.c:   47       memcpy( &pthread_functions, functions, min( size, sizeof(pthread_functions) ));
trace in port.c:   48   }
trace in pthread.C:  193   }
trace in main.C:   70       wine_thread_init ();          /* thread initialization stuff */
trace in thread.c:  111   void wine_thread_init(void)
trace in thread.c:  120       peb.NumberOfProcessors = 1;
trace in thread.c:  121       peb.ProcessParameters  = &params;
trace in thread.c:  122       peb.TlsBitmap          = &tls_bitmap;
trace in thread.c:  123       peb.TlsExpansionBitmap = &tls_expansion_bitmap;
trace in thread.c:  124       peb.LdrData            = &ldr;
trace in thread.c:  125       params.CurrentDirectory.DosPath.Buffer = current_dir;
trace in thread.c:  126       params.CurrentDirectory.DosPath.MaximumLength = sizeof(current_dir);
trace in thread.c:  127       params.wShowWindow = 1; /* SW_SHOWNORMAL */
trace in thread.c:  128       RtlInitializeBitMap( &tls_bitmap, peb.TlsBitmapBits, sizeof(peb.TlsBitmapBits) * 8 );
trace in rtlbitmap.c:   77     TRACE("(%p,%p,%ld)\n", lpBits,lpBuff,ulSize);
trace in debug.c:  229       if (!(__wine_dbg_get_channel_flags( channel ) & (1 << cls))) return -1;
trace in debug.c:   54       if (nb_debug_options)
trace in debug.c:   61       if (channel->flags & (1 << __WINE_DBCL_INIT)) channel->flags = default_flags;
trace in debug.c:   62       return default_flags;
trace in debug.c:   63   }
trace in debug.c:  229       if (!(__wine_dbg_get_channel_flags( channel ) & (1 << cls))) return -1;
trace in debug.c:  235   }
trace in rtlbitmap.c:   78     lpBits->SizeOfBitMap = ulSize;
trace in rtlbitmap.c:   79     lpBits->Buffer = lpBuff;
trace in rtlbitmap.c:   80   }
trace in thread.c:  129       RtlInitializeBitMap( &tls_expansion_bitmap, peb.TlsExpansionBitmapBits,
trace in rtlbitmap.c:   77     TRACE("(%p,%p,%ld)\n", lpBits,lpBuff,ulSize);
trace in rtlbitmap.c:   78     lpBits->SizeOfBitMap = ulSize;
trace in rtlbitmap.c:   79     lpBits->Buffer = lpBuff;
trace in rtlbitmap.c:   80   }
trace in thread.c:  131       InitializeListHead( &ldr.InLoadOrderModuleList );
trace in thread.c:  132       InitializeListHead( &ldr.InMemoryOrderModuleList );
trace in thread.c:  133       InitializeListHead( &ldr.InInitializationOrderModuleList );
trace in thread.c:  134       InitializeListHead( &tls_links );
trace in thread.c:  136       sigstack_total_size = get_signal_stack_total_size();
trace in signal_AIX.c:  630   size_t get_signal_stack_total_size(void)
trace in signal_AIX.c:  632       assert( sizeof(TEB) <= getpagesize() );
trace in signal_AIX.c:  633       return getpagesize();  /* this is just for the TEB, we don't need a signal stack */
trace in signal_AIX.c:  634   }
trace in thread.c:  137       thread_info.teb_size = sigstack_total_size;
trace in thread.c:  138       VIRTUAL_alloc_teb( &addr, thread_info.teb_size, TRUE );
trace in virtual.c: 1136       BYTE vprot = VPROT_READ | VPROT_WRITE | VPROT_COMMITTED;
trace in virtual.c: 1138       if (first) virtual_init();
trace in virtual.c: 1112   static inline void virtual_init(void)
trace in virtual.c: 1115       page_size = getpagesize();
trace in virtual.c: 1116       page_mask = page_size - 1;
trace in virtual.c: 1118       assert( !(page_size & page_mask) );
trace in virtual.c: 1119       page_shift = 0;
trace in virtual.c: 1120       while ((1 << page_shift) != page_size) page_shift++;
trace in virtual.c: 1122   }
trace in virtual.c: 1140       *ret = NULL;
trace in virtual.c: 1141       size = ROUND_SIZE( 0, size );
trace in virtual.c: 1142       align_size = page_size;
trace in virtual.c: 1143       while (align_size < size) align_size *= 2;
trace in virtual.c: 1147           if ((ptr = wine_anon_mmap( NULL, 2 * align_size, VIRTUAL_GetUnixProt(vprot), 0 )) == (void *)-1)
trace in virtual.c:  433       int prot = 0;
trace in virtual.c:  434       if ((vprot & VPROT_COMMITTED) && !(vprot & VPROT_GUARD))
trace in virtual.c:  436           if (vprot & VPROT_READ) prot |= PROT_READ;
trace in virtual.c:  437           if (vprot & VPROT_WRITE) prot |= PROT_WRITE;
trace in virtual.c:  438           if (vprot & VPROT_WRITECOPY) prot |= PROT_WRITE;
trace in virtual.c:  439           if (vprot & VPROT_EXEC) prot |= PROT_EXEC;
trace in virtual.c:  441       return prot;
trace in virtual.c:  442   }
trace in mmap.c:  176       flags |= MAP_ANON;
trace in mmap.c:  189       flags &= ~MAP_SHARED;
trace in mmap.c:  194       flags |= MAP_PRIVATE;
trace in mmap.c:  197       if (!(flags & MAP_FIXED))
trace in mmap.c:  212       return mmap( start, size, prot, flags, fdzero, 0 );
trace in mmap.c:  216   }
trace in virtual.c: 1152           if (!is_beyond_limit( ptr, 2 * align_size, user_space_limit ))
trace in virtual.c:  325       return (limit && (addr >= limit || (char *)addr + size > (char *)limit));
trace in virtual.c:  326   }
trace in virtual.c: 1154               ptr = unmap_extra_space( ptr, 2 * align_size, align_size, align_size - 1 );
trace in virtual.c:  559       if ((ULONG_PTR)ptr & mask)
trace in virtual.c:  566       if (total_size > wanted_size)
trace in virtual.c:  567           munmap( (char *)ptr + wanted_size, total_size - wanted_size );
trace in virtual.c:  568       return ptr;
trace in virtual.c:  569   }
trace in virtual.c: 1155               break;
trace in virtual.c: 1161       if (!first) RtlEnterCriticalSection( &csVirtual );
trace in virtual.c: 1163       status = create_view( &view, ptr, size, vprot );
trace in virtual.c:  368       assert( !((UINT_PTR)base & page_mask) );
trace in virtual.c:  369       assert( !(size & page_mask) );
trace in virtual.c:  373       if (!(view = malloc( sizeof(*view) + (size >> page_shift) - 1 ))) return STATUS_NO_MEMORY;
trace in virtual.c:  375       view->base    = base;
trace in virtual.c:  376       view->size    = size;
trace in virtual.c:  377       view->flags   = 0;
trace in virtual.c:  378       view->mapping = 0;
trace in virtual.c:  379       view->protect = vprot;
trace in virtual.c:  380       memset( view->prot, vprot, size >> page_shift );
trace in virtual.c:  384       LIST_FOR_EACH( ptr, &views_list )
trace in virtual.c:  389       list_add_before( ptr, &view->entry );
trace in list.h:   77       to_add->next = elem;
trace in list.h:   78       to_add->prev = elem->prev;
trace in list.h:   79       elem->prev->next = to_add;
trace in list.h:   80       elem->prev = to_add;
trace in list.h:   81   }
trace in virtual.c:  395       if ((ptr = list_prev( &views_list, &view->entry )) != NULL)
trace in list.h:  113       struct list *ret = elem->prev;
trace in list.h:  114       if (elem->prev == list) ret = NULL;
trace in list.h:  115       return ret;
trace in list.h:  116   }
trace in virtual.c:  407       if ((ptr = list_next( &views_list, &view->entry )) != NULL)
trace in list.h:  105       struct list *ret = elem->next;
trace in list.h:  106       if (elem->next == list) ret = NULL;
trace in list.h:  107       return ret;
trace in list.h:  108   }
trace in virtual.c:  420       *view_ret = view;
trace in virtual.c:  421       VIRTUAL_DEBUG_DUMP_VIEW( view );
trace in debug.c:   54       if (nb_debug_options)
trace in debug.c:   61       if (channel->flags & (1 << __WINE_DBCL_INIT)) channel->flags = default_flags;
trace in debug.c:   62       return default_flags;
trace in debug.c:   63   }
trace in virtual.c:  422       return STATUS_SUCCESS;
trace in virtual.c: 1164       if (status == STATUS_SUCCESS)
trace in virtual.c: 1166           view->flags |= VFLAG_VALLOC;
trace in virtual.c: 1167           *ret = ptr;
trace in virtual.c: 1168       }
trace in virtual.c: 1171       if (!first) RtlLeaveCriticalSection( &csVirtual );
trace in virtual.c: 1173       return status;
trace in thread.c:  139       teb = addr;
trace in thread.c:  140       init_teb( teb );
trace in thread.c:   70       struct ntdll_thread_data *thread_data = (struct ntdll_thread_data *)teb->SystemReserved2;
trace in thread.c:   72       teb->Tib.ExceptionList = (void *)~0UL;
trace in thread.c:   73       teb->Tib.StackBase     = (void *)~0UL;
trace in thread.c:   74       teb->Tib.Self          = &teb->Tib;
trace in thread.c:   75       teb->Peb               = &peb;
trace in thread.c:   76       teb->StaticUnicodeString.Buffer        = teb->StaticUnicodeBuffer;
trace in thread.c:   77       teb->StaticUnicodeString.MaximumLength = sizeof(teb->StaticUnicodeBuffer);
trace in thread.c:   79       if (!(thread_data->teb_sel = wine_ldt_alloc_fs())) return STATUS_TOO_MANY_THREADS;
trace in library.h:   87   static inline unsigned short wine_ldt_alloc_fs(void) { return 0x0b; /* pseudo GDT selector */ }
trace in thread.c:   80       thread_data->request_fd = -1;
trace in thread.c:   81       thread_data->reply_fd   = -1;
trace in thread.c:   82       thread_data->wait_fd[0] = -1;
trace in thread.c:   83       thread_data->wait_fd[1] = -1;
trace in thread.c:   85       return STATUS_SUCCESS;
trace in thread.c:   86   }
trace in thread.c:  141       thread_data = (struct ntdll_thread_data *)teb->SystemReserved2;
trace in thread.c:  142       thread_data->debug_info = &debug_info;
trace in thread.c:  143       InsertHeadList( &tls_links, &teb->TlsLinks );
trace in thread.c:  145       thread_info.stack_base = NULL;
trace in thread.c:  146       thread_info.stack_size = 0;
trace in thread.c:  147       thread_info.teb_base   = teb;
trace in thread.c:  148       thread_info.teb_sel    = thread_data->teb_sel;
trace in thread.c:  149       wine_pthread_get_functions( &pthread_functions, sizeof(pthread_functions) );
trace in port.c:   38       memcpy( functions, &pthread_functions, min( size, sizeof(pthread_functions) ));
trace in port.c:   39   }
trace in thread.c:  150       pthread_functions.init_current_teb( &thread_info );
trace in pthread.C:  129       if (!init_done)  /* first thread */
trace in pthread.C:  130           pthread_key_create( &teb_key, NULL );
trace in pthread.C:  131       pthread_setspecific( teb_key, info->teb_base );
trace in pthread.C:  135       info->pid = getpid();
trace in pthread.C:  136       info->tid = pthread_self();
trace in pthread.C:  137   }
trace in thread.c:  151       pthread_functions.init_thread( &thread_info );
trace in pthread.C:   75       if (init_done)
trace in pthread.C:   92   }
trace in thread.c:  153       debug_info.str_pos = debug_info.strings;
trace in thread.c:  154       debug_info.out_pos = debug_info.output;
trace in thread.c:  155       debug_init();
trace in debugtools.c:  201   void debug_init(void)
trace in debugtools.c:  203       __wine_dbg_set_functions( &funcs, &default_funcs, sizeof(funcs) );
trace in debug.c:  402       if (old_funcs) memcpy( old_funcs, &funcs, min(sizeof(funcs),size) );
trace in debug.c:  403       if (new_funcs) memcpy( &funcs, new_funcs, min(sizeof(funcs),size) );
trace in debug.c:  404   }
trace in debugtools.c:  204   }
trace in thread.c:  158       server_init_process();
trace in server.c:  851   void server_init_process(void)
trace in server.c:  856       const char *server_dir = wine_get_server_dir();
trace in config.c:  243   const char *wine_get_server_dir(void)
trace in config.c:  245       if (!server_dir)
trace in config.c:  247           if (!config_dir) init_paths();
trace in config.c:  131   static void init_paths(void)
trace in config.c:  135       const char *home = getenv( "HOME" );
trace in config.c:  136       const char *user = NULL;
trace in config.c:  137       const char *prefix = getenv( "WINEPREFIX" );
trace in config.c:  141       struct passwd *pwd = getpwuid( getuid() );
trace in config.c:  143       if (pwd)
trace in config.c:  145           user = pwd->pw_name;
trace in config.c:  146           if (!home) home = pwd->pw_dir;
trace in config.c:  148       if (!user)
trace in config.c:  157       user_name = xstrdup( user );
trace in config.c:   91       size_t len = strlen(str) + 1;
trace in config.c:   92       char *res = xmalloc( len );
trace in config.c:   83       if (!size) size = 1;
trace in config.c:   84       if (!(res = malloc( size ))) fatal_error( "virtual memory exhausted\n");
trace in config.c:   85       return res;
trace in config.c:   86   }
trace in config.c:   93       memcpy( res, str, len );
trace in config.c:   94       return res;
trace in config.c:   95   }
trace in config.c:  161       if (prefix)
trace in config.c:  177           if (!home) fatal_error( "could not determine your home directory\n" );
trace in config.c:  178           if (home[0] != '/') fatal_error( "your home directory %s is not an absolute path\n", home );
trace in config.c:  179           config_dir = xmalloc( strlen(home) + sizeof(server_config_dir) );
trace in config.c:   83       if (!size) size = 1;
trace in config.c:   84       if (!(res = malloc( size ))) fatal_error( "virtual memory exhausted\n");
trace in config.c:   85       return res;
trace in config.c:   86   }
trace in config.c:  180           strcpy( config_dir, home );
trace in config.c:  181           remove_trailing_slashes( config_dir );
trace in config.c:  100       int len = strlen( path );
trace in config.c:  101       while (len > 1 && path[len-1] == '/') path[--len] = 0;
trace in config.c:  102   }
trace in config.c:  182           strcat( config_dir, server_config_dir );
trace in config.c:  183           if (stat( config_dir, &st ) == -1)
trace in config.c:  189       if (!S_ISDIR(st.st_mode)) fatal_error( "%s is not a directory\n", config_dir );
trace in config.c:  191       init_server_dir( st.st_dev, st.st_ino );
trace in config.c:  109       const unsigned int uid = getuid();
trace in config.c:  114       server_dir = xmalloc( sizeof(server_root_prefix) + 32 + sizeof(server_dir_prefix) +
trace in config.c:   83       if (!size) size = 1;
trace in config.c:   84       if (!(res = malloc( size ))) fatal_error( "virtual memory exhausted\n");
trace in config.c:   85       return res;
trace in config.c:   86   }
trace in config.c:  116       sprintf( server_dir, "%s%u%s", server_root_prefix, uid, server_dir_prefix );
trace in config.c:  117       p = server_dir + strlen(server_dir);
trace in config.c:  119       if (sizeof(dev) > sizeof(unsigned long) && dev > ~0UL)
trace in config.c:  122           p += sprintf( p, "%lx-", (unsigned long)dev );trace in config.c:  124       if (sizeof(ino) > sizeof(unsigned long) && ino > ~0UL)
trace in config.c:  127           sprintf( p, "%lx", (unsigned long)ino );
trace in config.c:  128   }
trace in config.c:  192   }
trace in config.c:  260       return server_dir;
trace in config.c:  261   }
trace in server.c:  858       if (!server_dir)  /* this means the config dir doesn't exist */
trace in server.c:  865       for (size = 512; ; size *= 2)
trace in server.c:  867           if (!(oldcwd = malloc( size ))) break;
trace in server.c:  868           if (getcwd( oldcwd, size )) break;
trace in server.c:  876       fd_socket = server_connect( oldcwd, server_dir );
trace in server.c:  682       if (chdir( serverdir ) == -1)
trace in server.c:  690       if (stat( ".", &st ) == -1) fatal_perror( "stat %s", serverdir );
trace in server.c:  691       if (st.st_uid != getuid()) fatal_error( "'%s' is not owned by you\n", serverdir );
trace in server.c:  692       if (st.st_mode & 077) fatal_error( "'%s' must not be accessible by other users\n", serverdir );
trace in server.c:  694       for (retry = 0; retry < 6; retry++)
trace in server.c:  697           if (retry)
trace in server.c:  703           else if (lstat( SOCKETNAME, &st ) == -1) /* check for an already existing socket */
trace in server.c:  711           if (!S_ISSOCK(st.st_mode) && !S_ISFIFO(st.st_mode))
trace in server.c:  713           if (st.st_uid != getuid())
trace in server.c:  717           addr.sun_family = AF_UNIX;
trace in server.c:  718           strcpy( addr.sun_path, SOCKETNAME );
trace in server.c:  719           slen = sizeof(addr) - sizeof(addr.sun_path) + strlen(addr.sun_path) + 1;
trace in server.c:  721           addr.sun_len = slen;
trace in server.c:  723           if ((s = socket( AF_UNIX, SOCK_STREAM, 0 )) == -1) fatal_perror( "socket" );
trace in server.c:  724           if (connect( s, (struct sockaddr *)&addr, slen ) != -1)
trace in server.c:  726               fcntl( s, F_SETFD, 1 ); /* set close on exec flag */
trace in server.c:  727               return s;
trace in server.c:  879       if (oldcwd)
trace in server.c:  881           chdir( oldcwd );
trace in server.c:  882           free( oldcwd );
trace in server.c:  886       sigemptyset( &block_set );
trace in server.c:  887       sigaddset( &block_set, SIGALRM );
trace in server.c:  888       sigaddset( &block_set, SIGIO );
trace in server.c:  889       sigaddset( &block_set, SIGINT );
trace in server.c:  890       sigaddset( &block_set, SIGHUP );
trace in server.c:  891       sigaddset( &block_set, SIGUSR1 );
trace in server.c:  892       sigaddset( &block_set, SIGUSR2 );
trace in server.c:  893       sigaddset( &block_set, SIGCHLD );
trace in server.c:  896       ntdll_get_thread_data()->request_fd = receive_fd( &dummy_handle );
trace in server.c:  403       cmsg.header.len   = sizeof(cmsg.header) + sizeof(fd);
trace in server.c:  404       cmsg.header.level = SOL_SOCKET;
trace in server.c:  405       cmsg.header.type  = SCM_RIGHTS;
trace in server.c:  406       cmsg.fd           = -1;
trace in server.c:  407       msghdr.msg_control    = &cmsg;
trace in server.c:  408       msghdr.msg_controllen = sizeof(cmsg.header) + sizeof(fd);
trace in server.c:  409       msghdr.msg_flags      = 0;
trace in server.c:  412       msghdr.msg_name    = NULL;
trace in server.c:  413       msghdr.msg_namelen = 0;
trace in server.c:  414       msghdr.msg_iov     = &vec;
trace in server.c:  415       msghdr.msg_iovlen  = 1;
trace in server.c:  416       vec.iov_base = (void *)handle;
trace in server.c:  417       vec.iov_len  = sizeof(*handle);
trace in server.c:  421           if ((ret = recvmsg( fd_socket, &msghdr, 0 )) > 0)
trace in server.c:  424               fd = cmsg.fd;
trace in server.c:  426               if (fd != -1) fcntl( fd, F_SETFD, 1 ); /* set close on exec flag */
trace in server.c:  427               return fd;
trace in ntdll_misc.h:  127       return (struct ntdll_thread_data *)NtCurrentTeb()->SystemReserved2;
trace in thread.c: 1022       return pthread_functions.get_current_teb();
trace in pthread.C:  150       return pthread_getspecific( teb_key );
trace in pthread.C:  152   }
trace in thread.c: 1023   }
trace in ntdll_misc.h:  128   }
trace in server.c:  897   }
trace in thread.c:  159       info_size = server_init_thread( thread_info.pid, thread_info.tid, NULL );
trace in server.c:  912       sig_act.sa_handler = SIG_IGN;
trace in server.c:  913       sig_act.sa_flags   = 0;
trace in server.c:  914       sigemptyset( &sig_act.sa_mask );
trace in server.c:  917       sigaction( SIGPIPE, &sig_act, NULL );
trace in server.c:  920       sig_act.sa_flags |= SA_NOCLDWAIT;
trace in server.c:  922       sigaction( SIGCHLD, &sig_act, NULL );
trace in server.c:  925       if (pipe( reply_pipe ) == -1) server_protocol_perror( "pipe" );
trace in server.c:  926       if (pipe( ntdll_get_thread_data()->wait_fd ) == -1) server_protocol_perror( "pipe" );
trace in ntdll_misc.h:  127       return (struct ntdll_thread_data *)NtCurrentTeb()->SystemReserved2;
trace in thread.c: 1022       return pthread_functions.get_current_teb();
trace in pthread.C:  150       return pthread_getspecific( teb_key );
trace in pthread.C:  152   }
trace in thread.c: 1023   }
trace in ntdll_misc.h:  128   }
trace in server.c:  927       wine_server_send_fd( reply_pipe[1] );
trace in server.c:  348       vec.iov_base = (void *)&data;
trace in server.c:  349       vec.iov_len  = sizeof(data);
trace in server.c:  351       msghdr.msg_name    = NULL;
trace in server.c:  352       msghdr.msg_namelen = 0;
trace in server.c:  353       msghdr.msg_iov     = &vec;
trace in server.c:  354       msghdr.msg_iovlen  = 1;
trace in server.c:  360       cmsg.header.len   = sizeof(cmsg.header) + sizeof(fd);
trace in server.c:  361       cmsg.header.level = SOL_SOCKET;
trace in server.c:  362       cmsg.header.type  = SCM_RIGHTS;
trace in server.c:  363       cmsg.fd           = fd;
trace in server.c:  364       msghdr.msg_control    = &cmsg;
trace in server.c:  365       msghdr.msg_controllen = sizeof(cmsg.header) + sizeof(fd);
trace in server.c:  366       msghdr.msg_flags      = 0;
trace in server.c:  369       data.tid = GetCurrentThreadId();
trace in thread.c: 1022       return pthread_functions.get_current_teb();
trace in pthread.C:  150       return pthread_getspecific( teb_key );
trace in pthread.C:  152   }
trace in thread.c: 1023   }
trace in server.c:  370       data.fd  = fd;
trace in server.c:  374           if ((ret = sendmsg( fd_socket, &msghdr, 0 )) == sizeof(data)) return;
trace in server.c:  928       wine_server_send_fd( ntdll_get_thread_data()->wait_fd[1] );
trace in ntdll_misc.h:  127       return (struct ntdll_thread_data *)NtCurrentTeb()->SystemReserved2;
trace in thread.c: 1022       return pthread_functions.get_current_teb();
trace in pthread.C:  150       return pthread_getspecific( teb_key );
trace in pthread.C:  152   }
trace in thread.c: 1023   }
trace in ntdll_misc.h:  128   }
trace in server.c:  348       vec.iov_base = (void *)&data;
trace in server.c:  349       vec.iov_len  = sizeof(data);
trace in server.c:  351       msghdr.msg_name    = NULL;
trace in server.c:  352       msghdr.msg_namelen = 0;
trace in server.c:  353       msghdr.msg_iov     = &vec;
trace in server.c:  354       msghdr.msg_iovlen  = 1;
trace in server.c:  360       cmsg.header.len   = sizeof(cmsg.header) + sizeof(fd);
trace in server.c:  361       cmsg.header.level = SOL_SOCKET;
trace in server.c:  362       cmsg.header.type  = SCM_RIGHTS;
trace in server.c:  363       cmsg.fd           = fd;
trace in server.c:  364       msghdr.msg_control    = &cmsg;
trace in server.c:  365       msghdr.msg_controllen = sizeof(cmsg.header) + sizeof(fd);
trace in server.c:  366       msghdr.msg_flags      = 0;
trace in server.c:  369       data.tid = GetCurrentThreadId();
trace in thread.c: 1022       return pthread_functions.get_current_teb();
trace in pthread.C:  150       return pthread_getspecific( teb_key );
trace in pthread.C:  152   }
trace in thread.c: 1023   }
trace in server.c:  370       data.fd  = fd;
trace in server.c:  374           if ((ret = sendmsg( fd_socket, &msghdr, 0 )) == sizeof(data)) return;
trace in server.c:  929       ntdll_get_thread_data()->reply_fd = reply_pipe[0];trace in ntdll_misc.h:  127       return (struct ntdll_thread_data *)NtCurrentTeb()->SystemReserved2;
trace in thread.c: 1022       return pthread_functions.get_current_teb();
trace in pthread.C:  150       return pthread_getspecific( teb_key );
trace in pthread.C:  152   }
trace in thread.c: 1023   }
trace in ntdll_misc.h:  128   }
trace in server.c:  930       close( reply_pipe[1] );
trace in server.c:  933       fcntl( ntdll_get_thread_data()->reply_fd, F_SETFD, 1 );
trace in ntdll_misc.h:  127       return (struct ntdll_thread_data *)NtCurrentTeb()->SystemReserved2;
trace in thread.c: 1022       return pthread_functions.get_current_teb();
trace in pthread.C:  150       return pthread_getspecific( teb_key );
trace in pthread.C:  152   }
trace in thread.c: 1023   }
trace in ntdll_misc.h:  128   }
trace in server.c:  934       fcntl( ntdll_get_thread_data()->wait_fd[0], F_SETFD, 1 );
trace in ntdll_misc.h:  127       return (struct ntdll_thread_data *)NtCurrentTeb()->SystemReserved2;
trace in thread.c: 1022       return pthread_functions.get_current_teb();
trace in pthread.C:  150       return pthread_getspecific( teb_key );
trace in pthread.C:  152   }
trace in thread.c: 1023   }
trace in ntdll_misc.h:  128   }
trace in server.c:  935       fcntl( ntdll_get_thread_data()->wait_fd[1], F_SETFD, 1 );
trace in ntdll_misc.h:  127       return (struct ntdll_thread_data *)NtCurrentTeb()->SystemReserved2;
trace in thread.c: 1022       return pthread_functions.get_current_teb();
trace in pthread.C:  150       return pthread_getspecific( teb_key );
trace in pthread.C:  152   }
trace in thread.c: 1023   }
trace in ntdll_misc.h:  128   }
trace in server.c:  937       SERVER_START_REQ( init_thread )
trace in server.c:  939           req->unix_pid    = unix_pid;
trace in server.c:  940           req->unix_tid    = unix_tid;
trace in server.c:  941           req->teb         = NtCurrentTeb();
trace in thread.c: 1022       return pthread_functions.get_current_teb();
trace in pthread.C:  150       return pthread_getspecific( teb_key );
trace in pthread.C:  152   }
trace in thread.c: 1023   }
trace in server.c:  942           req->peb         = NtCurrentTeb()->Peb;
trace in thread.c: 1022       return pthread_functions.get_current_teb();
trace in pthread.C:  150       return pthread_getspecific( teb_key );
trace in pthread.C:  152   }
trace in thread.c: 1023   }
trace in server.c:  943           req->entry       = entry_point;
trace in server.c:  944           req->ldt_copy    = &wine_ldt_copy;
trace in server.c:  945           req->reply_fd    = reply_pipe[1];
trace in server.c:  946           req->wait_fd     = ntdll_get_thread_data()->wait_fd[1];
trace in ntdll_misc.h:  127       return (struct ntdll_thread_data *)NtCurrentTeb()->SystemReserved2;
trace in thread.c: 1022       return pthread_functions.get_current_teb();
trace in pthread.C:  150       return pthread_getspecific( teb_key );
trace in pthread.C:  152   }
trace in thread.c: 1023   }
trace in ntdll_misc.h:  128   }
trace in server.c:  947           req->debug_level = (TRACE_ON(server) != 0);
trace in debug.c:   54       if (nb_debug_options)
trace in debug.c:   61       if (channel->flags & (1 << __WINE_DBCL_INIT)) channel->flags = default_flags;
trace in debug.c:   62       return default_flags;
trace in debug.c:   63   }
trace in server.c:  948           ret = wine_server_call( req );
trace in server.c:  316       struct __server_request_info * const req = req_ptr;
trace in server.c:  319       sigprocmask( SIG_BLOCK, &block_set, &old_set );
trace in server.c:  320       send_request( req );
trace in server.c:  225       if (!req->u.req.request_header.request_size)
trace in server.c:  227           if ((ret = write( ntdll_get_thread_data()->request_fd, &req->u.req,
trace in ntdll_misc.h:  127       return (struct ntdll_thread_data *)NtCurrentTeb()->SystemReserved2;
trace in thread.c: 1022       return pthread_functions.get_current_teb();
trace in pthread.C:  150       return pthread_getspecific( teb_key );
trace in pthread.C:  152   }
trace in thread.c: 1023   }
trace in ntdll_misc.h:  128   }
trace in server.c:  228                             sizeof(req->u.req) )) == sizeof(req->u.req)) return;
trace in server.c:  321       wait_reply( req );
trace in server.c:  286       read_reply_data( &req->u.reply, sizeof(req->u.reply) );
trace in server.c:  263           if ((ret = read( ntdll_get_thread_data()->reply_fd, buffer, size )) > 0)
trace in ntdll_misc.h:  127       return (struct ntdll_thread_data *)NtCurrentTeb()->SystemReserved2;
trace in thread.c: 1022       return pthread_functions.get_current_teb();
trace in pthread.C:  150       return pthread_getspecific( teb_key );
trace in pthread.C:  152   }
trace in thread.c: 1023   }
trace in ntdll_misc.h:  128   }


[ PAUSE ]

trace in server.c:  265               if (!(size -= ret)) return;
trace in server.c:  287       if (req->u.reply.reply_header.reply_size)
trace in server.c:  289   }
trace in server.c:  322       sigprocmask( SIG_SETMASK, &old_set, NULL );
trace in server.c:  323       return req->u.reply.reply_header.error;
trace in server.c:  324   }
trace in server.c:  949           NtCurrentTeb()->ClientId.UniqueProcess = (HANDLE)reply->pid;
trace in thread.c: 1022       return pthread_functions.get_current_teb();
trace in pthread.C:  150       return pthread_getspecific( teb_key );
trace in pthread.C:  152   }
trace in thread.c: 1023   }
trace in server.c:  950           NtCurrentTeb()->ClientId.UniqueThread  = (HANDLE)reply->tid;
trace in thread.c: 1022       return pthread_functions.get_current_teb();
trace in pthread.C:  150       return pthread_getspecific( teb_key );
trace in pthread.C:  152   }
trace in thread.c: 1023   }
trace in server.c:  951           info_size         = reply->info_size;
trace in server.c:  952           version           = reply->version;
trace in server.c:  953           server_start_time = reply->server_start;
trace in server.c:  957       if (ret) server_protocol_error( "init_thread failed with status %x\n", ret );
trace in server.c:  958       if (version != SERVER_PROTOCOL_VERSION)
trace in server.c:  965       return info_size;
trace in thread.c:  162       if (!(peb.ProcessHeap = RtlCreateHeap( HEAP_GROWABLE, NULL, 0, 0, NULL, NULL )))
trace in heap.c: 1060       if (!totalSize)
trace in heap.c: 1062           totalSize = HEAP_DEF_SIZE;
trace in heap.c: 1063           flags |= HEAP_GROWABLE;
trace in heap.c: 1066       if (!(subheap = HEAP_CreateSubHeap( NULL, addr, flags, commitSize, totalSize ))) return 0;
trace in heap.c:  665       LPVOID address = base;
trace in heap.c:  668       totalSize  = (totalSize + 0xffff) & 0xffff0000;
trace in heap.c:  669       commitSize = (commitSize + 0xffff) & 0xffff0000;
trace in heap.c:  670       if (!commitSize) commitSize = 0x10000;
trace in heap.c:  671       if (totalSize < commitSize) totalSize = commitSize;
trace in heap.c:  673       if (!address)
trace in heap.c:  676           if (NtAllocateVirtualMemory( NtCurrentProcess(), &address, 0, &totalSize,
trace in virtual.c: 1245       SIZE_T size = *size_ptr;
trace in virtual.c: 1246       NTSTATUS status = STATUS_SUCCESS;
trace in virtual.c: 1249       TRACE("%p %p %08lx %lx %08lx\n", process, *ret, size, type, protect );
trace in virtual.c: 1251       if (!size) return STATUS_INVALID_PARAMETER;
trace in virtual.c: 1253       if (!is_current_process( process ))
trace in virtual.c: 1095       BOOL ret = FALSE;
trace in virtual.c: 1097       if (handle == NtCurrentProcess()) return TRUE;
trace in virtual.c: 1261       if (size > 0x7fc00000) return STATUS_WORKING_SET_LIMIT_RANGE; /* 2Gb - 4Mb */
trace in virtual.c: 1263       if (*ret)
trace in virtual.c: 1279           base = NULL;
trace in virtual.c: 1280           size = (size + page_mask) & ~page_mask;
trace in virtual.c: 1283       if (type & MEM_TOP_DOWN) {
trace in virtual.c: 1289       if (zero_bits)
trace in virtual.c: 1294       if (!(type & MEM_SYSTEM))
trace in virtual.c: 1296           if (!(type & (MEM_COMMIT | MEM_RESERVE)) || (type & ~(MEM_COMMIT | MEM_RESERVE)))
trace in virtual.c: 1302       vprot = VIRTUAL_GetProt( protect );
trace in virtual.c:  483       switch(protect & 0xff)
trace in virtual.c:  489           vprot = VPROT_READ | VPROT_WRITE;
trace in virtual.c:  490           break;
trace in virtual.c:  519       if (protect & PAGE_GUARD) vprot |= VPROT_GUARD;
trace in virtual.c:  520       if (protect & PAGE_NOCACHE) vprot |= VPROT_NOCACHE;
trace in virtual.c:  521       return vprot;
trace in virtual.c:  522   }
trace in virtual.c: 1303       if (type & MEM_COMMIT) vprot |= VPROT_COMMITTED;
trace in virtual.c: 1307       RtlEnterCriticalSection( &csVirtual );
trace in critsection.c:  395       if (crit->SpinCount)
trace in critsection.c:  411       if (interlocked_inc( &crit->LockCount ))
trace in critsection.c:   40       return interlocked_xchg_add( (int *)dest, 1 ) + 1;
trace in critsection.c:   41   }
trace in critsection.c:  413           if (crit->OwningThread == (HANDLE)GetCurrentThreadId())
trace in thread.c: 1022       return pthread_functions.get_current_teb();
trace in pthread.C:  150       return pthread_getspecific( teb_key );
trace in pthread.C:  152   }
trace in thread.c: 1023   }
trace in critsection.c:  420           RtlpWaitForCriticalSection( crit );
trace in critsection.c:  302           NTSTATUS status = wait_semaphore( crit, 5 );
trace in critsection.c:  123       if (use_futexes() && crit->DebugInfo)  /* debug info is cleared by MakeCriticalSectionGlobal */
trace in critsection.c:   95   static inline int use_futexes(void) { return 0; }trace in critsection.c:  141           HANDLE sem = get_semaphore( crit );
trace in critsection.c:  104       HANDLE ret = crit->LockSemaphore;
trace in critsection.c:  105       if (!ret)
trace in critsection.c:  108           if (NtCreateSemaphore( &sem, SEMAPHORE_ALL_ACCESS, NULL, 0, 1 )) return 0;
trace in sync.c:   75       DWORD len = attr && attr->ObjectName ? attr->ObjectName->Length : 0;
trace in sync.c:   78       if (MaximumCount <= 0 || InitialCount < 0 || InitialCount > MaximumCount)
trace in sync.c:   80       if (len >= MAX_PATH * sizeof(WCHAR)) return STATUS_NAME_TOO_LONG;
trace in sync.c:   82       SERVER_START_REQ( create_semaphore )
trace in sync.c:   84           req->access  = access;
trace in sync.c:   85           req->attributes = (attr) ? attr->Attributes : 0;trace in sync.c:   86           req->initial = InitialCount;
trace in sync.c:   87           req->max     = MaximumCount;
trace in sync.c:   88           if (len) wine_server_add_data( req, attr->ObjectName->Buffer, len );
trace in sync.c:   89           ret = wine_server_call( req );
trace in server.c:  316       struct __server_request_info * const req = req_ptr;
trace in server.c:  319       sigprocmask( SIG_BLOCK, &block_set, &old_set );
trace in server.c:  320       send_request( req );
trace in server.c:  225       if (!req->u.req.request_header.request_size)
trace in server.c:  227           if ((ret = write( ntdll_get_thread_data()->request_fd, &req->u.req,
trace in ntdll_misc.h:  127       return (struct ntdll_thread_data *)NtCurrentTeb()->SystemReserved2;
trace in thread.c: 1022       return pthread_functions.get_current_teb();
trace in pthread.C:  150       return pthread_getspecific( teb_key );
trace in pthread.C:  152   }
trace in thread.c: 1023   }
trace in ntdll_misc.h:  128   }
trace in server.c:  228                             sizeof(req->u.req) )) == sizeof(req->u.req)) return;
trace in server.c:  321       wait_reply( req );
trace in server.c:  286       read_reply_data( &req->u.reply, sizeof(req->u.reply) );
trace in server.c:  263           if ((ret = read( ntdll_get_thread_data()->reply_fd, buffer, size )) > 0)
trace in ntdll_misc.h:  127       return (struct ntdll_thread_data *)NtCurrentTeb()->SystemReserved2;
trace in thread.c: 1022       return pthread_functions.get_current_teb();
trace in pthread.C:  150       return pthread_getspecific( teb_key );
trace in pthread.C:  152   }
trace in thread.c: 1023   }
trace in ntdll_misc.h:  128   }
trace in server.c:  265               if (!(size -= ret)) return;
trace in server.c:  287       if (req->u.reply.reply_header.reply_size)
trace in server.c:  289   }
trace in server.c:  322       sigprocmask( SIG_SETMASK, &old_set, NULL );
trace in server.c:  323       return req->u.reply.reply_header.error;
trace in server.c:  324   }
trace in sync.c:   90           *SemaphoreHandle = reply->handle;
trace in sync.c:   93       return ret;
trace in critsection.c:  109           if (!(ret = (HANDLE)interlocked_cmpxchg_ptr( (PVOID *)&crit->LockSemaphore,
trace in critsection.c:  111               ret = sem;
trace in critsection.c:  115       return ret;
trace in critsection.c:  116   }
trace in critsection.c:  144           time.QuadPart = timeout * (LONGLONG)-10000000;
trace in critsection.c:  145           return NtWaitForSingleObject( sem, FALSE, &time );
trace in sync.c:  759       return NtWaitForMultipleObjects( 1, &handle, FALSE, alertable, timeout );
trace in sync.c:  744       UINT flags = SELECT_INTERRUPTIBLE;
trace in sync.c:  746       if (!count || count > MAXIMUM_WAIT_OBJECTS) return STATUS_INVALID_PARAMETER_1;
trace in sync.c:  748       if (wait_all) flags |= SELECT_ALL;
trace in sync.c:  749       if (alertable) flags |= SELECT_ALERTABLE;
trace in sync.c:  750       return NTDLL_wait_for_multiple_objects( count, handles, flags, timeout, 0 );
trace in sync.c:  706       if (timeout) flags |= SELECT_TIMEOUT;
trace in sync.c:  709           SERVER_START_REQ( select )
trace in sync.c:  711               req->flags   = flags;
trace in sync.c:  712               req->cookie  = &cookie;
trace in sync.c:  713               req->signal  = signal_object;
trace in sync.c:  714               NTDLL_get_server_timeout( &req->timeout, timeout );
trace in time.c:  440       if (!timeout)  /* infinite timeout */
trace in time.c:  444       else if (timeout->QuadPart <= 0)  /* relative timeout */
trace in time.c:  448           if (-timeout->QuadPart > (LONGLONG)INT_MAX * TICKSPERSEC)
trace in time.c:  452               ULONG sec = RtlEnlargedUnsignedDivide( -timeout->QuadPart, TICKSPERSEC, &remainder );
trace in large_int.c:  267       UINT ret = a / b;
trace in large_int.c:  268       if (remptr) *remptr = a % b;
trace in large_int.c:  269       return ret;
trace in large_int.c:  271   }
trace in time.c:  453               gettimeofday( &tv, 0 );
trace in time.c:  454               when->sec = tv.tv_sec + sec;
trace in time.c:  455               if ((when->usec = tv.tv_usec + (remainder / 10)) >= 1000000)
trace in time.c:  460               if (when->sec < tv.tv_sec)  /* overflow */
trace in time.c:  463       }
trace in time.c:  477   }
trace in sync.c:  715               wine_server_add_data( req, handles, count * sizeof(HANDLE) );
trace in server.h:   75       struct __server_request_info * const req = req_ptr;
trace in server.h:   76       if (size)
trace in server.h:   78           req->data[req->data_count].ptr = ptr;
trace in server.h:   79           req->data[req->data_count++].size = size;
trace in server.h:   80           req->u.req.request_header.request_size += size;
trace in server.h:   82   }
trace in sync.c:  716               ret = wine_server_call( req );
trace in server.c:  316       struct __server_request_info * const req = req_ptr;
trace in server.c:  319       sigprocmask( SIG_BLOCK, &block_set, &old_set );
trace in server.c:  320       send_request( req );
trace in server.c:  225       if (!req->u.req.request_header.request_size)
trace in server.c:  235           vec[0].iov_base = (void *)&req->u.req;
trace in server.c:  236           vec[0].iov_len = sizeof(req->u.req);
trace in server.c:  237           for (i = 0; i < req->data_count; i++)
trace in server.c:  239               vec[i+1].iov_base = (void *)req->data[i].ptr;
trace in server.c:  240               vec[i+1].iov_len = req->data[i].size;
trace in server.c:  237           for (i = 0; i < req->data_count; i++)
trace in server.c:  242           if ((ret = writev( ntdll_get_thread_data()->request_fd, vec, i+1 )) ==
trace in ntdll_misc.h:  127       return (struct ntdll_thread_data *)NtCurrentTeb()->SystemReserved2;
trace in thread.c: 1022       return pthread_functions.get_current_teb();
trace in pthread.C:  150       return pthread_getspecific( teb_key );
trace in pthread.C:  152   }
trace in thread.c: 1023   }
trace in ntdll_misc.h:  128   }
trace in server.c:  243               req->u.req.request_header.request_size + sizeof(req->u.req)) return;
trace in server.c:  321       wait_reply( req );
trace in server.c:  286       read_reply_data( &req->u.reply, sizeof(req->u.reply) );
trace in server.c:  263           if ((ret = read( ntdll_get_thread_data()->reply_fd, buffer, size )) > 0)
trace in ntdll_misc.h:  127       return (struct ntdll_thread_data *)NtCurrentTeb()->SystemReserved2;
trace in thread.c: 1022       return pthread_functions.get_current_teb();
trace in pthread.C:  150       return pthread_getspecific( teb_key );
trace in pthread.C:  152   }
trace in thread.c: 1023   }
trace in ntdll_misc.h:  128   }
trace in server.c:  265               if (!(size -= ret)) return;
trace in server.c:  287       if (req->u.reply.reply_header.reply_size)
trace in server.c:  289   }
trace in server.c:  322       sigprocmask( SIG_SETMASK, &old_set, NULL );
trace in server.c:  323       return req->u.reply.reply_header.error;
trace in server.c:  324   }
trace in sync.c:  719           if (ret == STATUS_PENDING) ret = wait_reply( &cookie );
trace in sync.c:  618           ret = read( ntdll_get_thread_data()->wait_fd[0], &reply, sizeof(reply) );
trace in ntdll_misc.h:  127       return (struct ntdll_thread_data *)NtCurrentTeb()->SystemReserved2;
trace in thread.c: 1022       return pthread_functions.get_current_teb();
trace in pthread.C:  150       return pthread_getspecific( teb_key );
trace in pthread.C:  152   }
trace in thread.c: 1023   }
trace in ntdll_misc.h:  128   }
trace in sync.c:  619           if (ret == sizeof(reply))
trace in sync.c:  621               if (!reply.cookie) break;  /* thread got killed */
trace in sync.c:  622               if (reply.cookie == cookie) return reply.signaled;
trace in sync.c:  720           if (ret != STATUS_USER_APC) break;
trace in sync.c:  729       if (ret == WAIT_TIMEOUT) NtYieldExecution();
trace in sync.c:  783       sched_yield();
trace in sync.c:  784       return STATUS_SUCCESS;
trace in sync.c:  788   }
trace in sync.c:  731       return ret;
trace in sync.c:  751   }
trace in sync.c:  760   }
trace in critsection.c:  304           if ( status == STATUS_TIMEOUT )
trace in critsection.c:  306               const char *name = NULL;
trace in critsection.c:  307               if (crit->DebugInfo) name = (char *)crit->DebugInfo->Spare[0];
trace in critsection.c:  308               if (!name) name = "?";
trace in critsection.c:  309               ERR( "section %p %s wait timed out in thread %04lx, blocked by %04lx, retrying (60 sec)\n",
trace in debug.c:  229       if (!(__wine_dbg_get_channel_flags( channel ) & (1 << cls))) return -1;
trace in debug.c:   54       if (nb_debug_options)
trace in debug.c:   61       if (channel->flags & (1 << __WINE_DBCL_INIT)) channel->flags = default_flags;
trace in debug.c:   62       return default_flags;
trace in debug.c:   63   }
trace in debug.c:  231       va_start(valist, format);
trace in debug.c:  232       ret = funcs.dbg_vlog( cls, channel, func, format, valist );
trace in debugtools.c:  171       struct debug_info *info = get_info();
trace in debugtools.c:   60       return ntdll_get_thread_data()->debug_info;
trace in ntdll_misc.h:  127       return (struct ntdll_thread_data *)NtCurrentTeb()->SystemReserved2;
trace in thread.c: 1022       return pthread_functions.get_current_teb();
trace in pthread.C:  150       return pthread_getspecific( teb_key );
trace in pthread.C:  152   }
trace in thread.c: 1023   }
trace in ntdll_misc.h:  128   }
trace in debugtools.c:   61   }
trace in debugtools.c:  172       int ret = 0;
trace in debugtools.c:  175       if (info->out_pos == info->output || info->out_pos[-1] == '\n')
trace in debugtools.c:  177           if (TRACE_ON(tid))
trace in debug.c:   54       if (nb_debug_options)
trace in debug.c:   61       if (channel->flags & (1 << __WINE_DBCL_INIT)) channel->flags = default_flags;
trace in debug.c:   62       return default_flags;
trace in debug.c:   63   }
trace in debugtools.c:  179           if (cls < sizeof(classes)/sizeof(classes[0]))
trace in debugtools.c:  180               ret += wine_dbg_printf( "%s:%s:%s ", classes[cls], channel->name, function );
trace in debug.c:  198       va_start(valist, format);
trace in debug.c:  199       ret = funcs.dbg_vprintf( format, valist );
trace in debugtools.c:  132       struct debug_info *info = get_info();
trace in debugtools.c:   60       return ntdll_get_thread_data()->debug_info;
trace in ntdll_misc.h:  127       return (struct ntdll_thread_data *)NtCurrentTeb()->SystemReserved2;
trace in thread.c: 1022       return pthread_functions.get_current_teb();
trace in pthread.C:  150       return pthread_getspecific( teb_key );
trace in pthread.C:  152   }
trace in thread.c: 1023   }
trace in ntdll_misc.h:  128   }
trace in debugtools.c:   61   }
trace in debugtools.c:  135       int ret = vsnprintf( info->out_pos, sizeof(info->output) - (info->out_pos - info->output),
trace in debugtools.c:  142       if ((ret == -1) || (ret >= sizeof(info->output) - (info->out_pos - info->output)))
trace in debugtools.c:  150       p = strrchr( info->out_pos, '\n' );
trace in debugtools.c:  151       if (!p) info->out_pos += ret;
trace in debugtools.c:  161       return ret;
trace in debugtools.c:  162   }
trace in debug.c:  200       va_end(valist);
trace in debug.c:  201       return ret;
trace in debug.c:  202   }
trace in debugtools.c:  182       if (format)
trace in debugtools.c:  183           ret += NTDLL_dbg_vprintf( format, args );
trace in debugtools.c:  132       struct debug_info *info = get_info();
trace in debugtools.c:   60       return ntdll_get_thread_data()->debug_info;
trace in ntdll_misc.h:  127       return (struct ntdll_thread_data *)NtCurrentTeb()->SystemReserved2;
trace in thread.c: 1022       return pthread_functions.get_current_teb();
trace in pthread.C:  150       return pthread_getspecific( teb_key );
trace in pthread.C:  152   }
trace in thread.c: 1023   }
trace in ntdll_misc.h:  128   }
trace in debugtools.c:   61   }
trace in debugtools.c:  135       int ret = vsnprintf( info->out_pos, sizeof(info->output) - (info->out_pos - info->output),
trace in debugtools.c:  142       if ((ret == -1) || (ret >= sizeof(info->output) - (info->out_pos - info->output)))
trace in debugtools.c:  150       p = strrchr( info->out_pos, '\n' );
trace in debugtools.c:  151       if (!p) info->out_pos += ret;
trace in debugtools.c:  161       return ret;
trace in debugtools.c:  162   }
trace in debugtools.c:  184       return ret;
trace in debugtools.c:  185   }
trace in debug.c:  233       va_end(valist);
trace in debug.c:  234       return ret;
trace in debug.c:  235   }
trace in debug.h:  254   inline static const char *debugstr_a( const char *s ) { return wine_dbgstr_an( s, -1 ); }
trace in debug.c:  391       return funcs.dbgstr_an(s, n);
trace in debugtools.c:   87       struct debug_info *info = get_info();
trace in debugtools.c:   60       return ntdll_get_thread_data()->debug_info;
trace in ntdll_misc.h:  127       return (struct ntdll_thread_data *)NtCurrentTeb()->SystemReserved2;
trace in thread.c: 1022       return pthread_functions.get_current_teb();
trace in pthread.C:  150       return pthread_getspecific( teb_key );
trace in pthread.C:  152   }
trace in thread.c: 1023   }
trace in ntdll_misc.h:  128   }
trace in debugtools.c:   61   }
trace in debugtools.c:   89       char *old_pos = info->str_pos;
trace in debugtools.c:   91       __TRY
trace in debugtools.c:   95       __EXCEPT(page_fault)
trace in exception.h:  165       NT_TIB *teb = (NT_TIB *)NtCurrentTeb();
trace in thread.c: 1022       return pthread_functions.get_current_teb();
trace in pthread.C:  150       return pthread_getspecific( teb_key );
trace in pthread.C:  152   }
trace in thread.c: 1023   }
trace in exception.h:  166       frame->Prev = (void *)teb->ExceptionList;
trace in exception.h:  167       teb->ExceptionList = (void *)frame;
trace in exception.h:  168       return frame->Prev;
trace in exception.h:  170   }
trace in debugtools.c:   95       __EXCEPT(page_fault)
trace in debugtools.c:  100       __ENDTRY
trace in debugtools.c:   91       __TRY
trace in debugtools.c:   93           res = default_funcs.dbgstr_an( src, n );
trace in debug.c:  267       if (!((ULONG_PTR)str >> 16))
trace in debug.c:  274       if (n == -1) n = strlen(str);
trace in debug.c:  275       if (n < 0) n = 0;
trace in debug.c:  276       size = 10 + min( 300, n * 4 );
trace in debug.c:  277       dst = res = funcs.get_temp_buffer( size );
trace in debugtools.c:   66       struct debug_info *info = get_info();
trace in debugtools.c:   60       return ntdll_get_thread_data()->debug_info;
trace in ntdll_misc.h:  127       return (struct ntdll_thread_data *)NtCurrentTeb()->SystemReserved2;
trace in thread.c: 1022       return pthread_functions.get_current_teb();
trace in pthread.C:  150       return pthread_getspecific( teb_key );
trace in pthread.C:  152   }
trace in thread.c: 1023   }
trace in ntdll_misc.h:  128   }
trace in debugtools.c:   61   }
trace in debugtools.c:   67       char *res = info->str_pos;
trace in debugtools.c:   69       if (res + n >= &info->strings[sizeof(info->strings)]) res = info->strings;
trace in debugtools.c:   70       info->str_pos = res + n;
trace in debugtools.c:   71       return res;
trace in debugtools.c:   72   }
trace in debug.c:  278       *dst++ = '"';
trace in debug.c:  279       while (n-- > 0 && dst <= res + size - 9)
trace in debug.c:  281           unsigned char c = *str++;
trace in debug.c:  282           switch (c)
trace in debug.c:  290               if (c >= ' ' && c <= 126)
trace in debug.c:  291                   *dst++ = c;
trace in debug.c:  279       while (n-- > 0 && dst <= res + size - 9)
trace in debug.c:  281           unsigned char c = *str++;
trace in debug.c:  282           switch (c)
trace in debug.c:  290               if (c >= ' ' && c <= 126)
trace in debug.c:  291                   *dst++ = c;
trace in debug.c:  279       while (n-- > 0 && dst <= res + size - 9)
trace in debug.c:  281           unsigned char c = *str++;
trace in debug.c:  282           switch (c)
trace in debug.c:  290               if (c >= ' ' && c <= 126)
trace in debug.c:  291                   *dst++ = c;
trace in debug.c:  279       while (n-- > 0 && dst <= res + size - 9)
trace in debug.c:  281           unsigned char c = *str++;
trace in debug.c:  282           switch (c)
trace in debug.c:  290               if (c >= ' ' && c <= 126)
trace in debug.c:  291                   *dst++ = c;
trace in debug.c:  279       while (n-- > 0 && dst <= res + size - 9)
trace in debug.c:  281           unsigned char c = *str++;
trace in debug.c:  282           switch (c)
trace in debug.c:  290               if (c >= ' ' && c <= 126)
trace in debug.c:  291                   *dst++ = c;
trace in debug.c:  279       while (n-- > 0 && dst <= res + size - 9)
trace in debug.c:  281           unsigned char c = *str++;
trace in debug.c:  282           switch (c)
trace in debug.c:  290               if (c >= ' ' && c <= 126)
trace in debug.c:  291                   *dst++ = c;
trace in debug.c:  279       while (n-- > 0 && dst <= res + size - 9)
trace in debug.c:  281           unsigned char c = *str++;
trace in debug.c:  282           switch (c)
trace in debug.c:  290               if (c >= ' ' && c <= 126)
trace in debug.c:  291                   *dst++ = c;
trace in debug.c:  279       while (n-- > 0 && dst <= res + size - 9)
trace in debug.c:  281           unsigned char c = *str++;
trace in debug.c:  282           switch (c)
trace in debug.c:  290               if (c >= ' ' && c <= 126)
trace in debug.c:  291                   *dst++ = c;
trace in debug.c:  279       while (n-- > 0 && dst <= res + size - 9)
trace in debug.c:  281           unsigned char c = *str++;
trace in debug.c:  282           switch (c)
trace in debug.c:  290               if (c >= ' ' && c <= 126)
trace in debug.c:  291                   *dst++ = c;
trace in debug.c:  279       while (n-- > 0 && dst <= res + size - 9)
trace in debug.c:  281           unsigned char c = *str++;
trace in debug.c:  282           switch (c)
trace in debug.c:  290               if (c >= ' ' && c <= 126)
trace in debug.c:  291                   *dst++ = c;
trace in debug.c:  279       while (n-- > 0 && dst <= res + size - 9)
trace in debug.c:  281           unsigned char c = *str++;
trace in debug.c:  282           switch (c)
trace in debug.c:  290               if (c >= ' ' && c <= 126)
trace in debug.c:  291                   *dst++ = c;
trace in debug.c:  279       while (n-- > 0 && dst <= res + size - 9)
trace in debug.c:  281           unsigned char c = *str++;
trace in debug.c:  282           switch (c)
trace in debug.c:  290               if (c >= ' ' && c <= 126)
trace in debug.c:  291                   *dst++ = c;
trace in debug.c:  279       while (n-- > 0 && dst <= res + size - 9)
trace in debug.c:  281           unsigned char c = *str++;
trace in debug.c:  282           switch (c)
trace in debug.c:  290               if (c >= ' ' && c <= 126)
trace in debug.c:  291                   *dst++ = c;
trace in debug.c:  279       while (n-- > 0 && dst <= res + size - 9)
trace in debug.c:  281           unsigned char c = *str++;
trace in debug.c:  282           switch (c)
trace in debug.c:  290               if (c >= ' ' && c <= 126)
trace in debug.c:  291                   *dst++ = c;
trace in debug.c:  279       while (n-- > 0 && dst <= res + size - 9)
trace in debug.c:  281           unsigned char c = *str++;
trace in debug.c:  282           switch (c)
trace in debug.c:  290               if (c >= ' ' && c <= 126)
trace in debug.c:  291                   *dst++ = c;
trace in debug.c:  279       while (n-- > 0 && dst <= res + size - 9)
trace in debug.c:  281           unsigned char c = *str++;
trace in debug.c:  282           switch (c)
trace in debug.c:  290               if (c >= ' ' && c <= 126)
trace in debug.c:  291                   *dst++ = c;
trace in debug.c:  279       while (n-- > 0 && dst <= res + size - 9)
trace in debug.c:  281           unsigned char c = *str++;
trace in debug.c:  282           switch (c)
trace in debug.c:  290               if (c >= ' ' && c <= 126)
trace in debug.c:  291                   *dst++ = c;
trace in debug.c:  279       while (n-- > 0 && dst <= res + size - 9)
trace in debug.c:  281           unsigned char c = *str++;
trace in debug.c:  282           switch (c)
trace in debug.c:  290               if (c >= ' ' && c <= 126)
trace in debug.c:  291                   *dst++ = c;
trace in debug.c:  279       while (n-- > 0 && dst <= res + size - 9)
trace in debug.c:  281           unsigned char c = *str++;
trace in debug.c:  282           switch (c)
trace in debug.c:  290               if (c >= ' ' && c <= 126)
trace in debug.c:  291                   *dst++ = c;
trace in debug.c:  279       while (n-- > 0 && dst <= res + size - 9)
trace in debug.c:  281           unsigned char c = *str++;
trace in debug.c:  282           switch (c)
trace in debug.c:  290               if (c >= ' ' && c <= 126)
trace in debug.c:  291                   *dst++ = c;
trace in debug.c:  279       while (n-- > 0 && dst <= res + size - 9)
trace in debug.c:  301       *dst++ = '"';
trace in debug.c:  302       if (*str)
trace in debug.c:  308       *dst++ = 0;
trace in debug.c:  309       funcs.release_temp_buffer( res, dst - res );
trace in debugtools.c:   77       struct debug_info *info = get_info();
trace in debugtools.c:   60       return ntdll_get_thread_data()->debug_info;
trace in ntdll_misc.h:  127       return (struct ntdll_thread_data *)NtCurrentTeb()->SystemReserved2;
trace in thread.c: 1022       return pthread_functions.get_current_teb();
trace in pthread.C:  150       return pthread_getspecific( teb_key );
trace in pthread.C:  152   }
trace in thread.c: 1023   }
trace in ntdll_misc.h:  128   }
trace in debugtools.c:   61   }
trace in debugtools.c:   78       info->str_pos = ptr + size;
trace in debugtools.c:   79   }
trace in debug.c:  310       return res;
trace in debugtools.c:   95       __EXCEPT(page_fault)
trace in exception.h:  180       NT_TIB *teb = (NT_TIB *)NtCurrentTeb();
trace in thread.c: 1022       return pthread_functions.get_current_teb();
trace in pthread.C:  150       return pthread_getspecific( teb_key );
trace in pthread.C:  152   }
trace in thread.c: 1023   }
trace in exception.h:  181       teb->ExceptionList = (void *)frame->Prev;
trace in exception.h:  182       return frame->Prev;
trace in exception.h:  184   }
trace in debugtools.c:   95       __EXCEPT(page_fault)
trace in debugtools.c:  101       return res;
trace in debug.c:  392   }
trace in debug.h:  254   inline static const char *debugstr_a( const char *s ) { return wine_dbgstr_an( s, -1 ); }
trace in thread.c: 1022       return pthread_functions.get_current_teb();
trace in pthread.C:  150       return pthread_getspecific( teb_key );
trace in pthread.C:  152   }
trace in thread.c: 1023   }
trace in debug.c:  198       va_start(valist, format);
trace in debug.c:  199       ret = funcs.dbg_vprintf( format, valist );
trace in debugtools.c:  132       struct debug_info *info = get_info();
trace in debugtools.c:   60       return ntdll_get_thread_data()->debug_info;
trace in ntdll_misc.h:  127       return (struct ntdll_thread_data *)NtCurrentTeb()->SystemReserved2;
trace in thread.c: 1022       return pthread_functions.get_current_teb();
trace in pthread.C:  150       return pthread_getspecific( teb_key );
trace in pthread.C:  152   }
trace in thread.c: 1023   }
trace in ntdll_misc.h:  128   }
trace in debugtools.c:   61   }
trace in debugtools.c:  135       int ret = vsnprintf( info->out_pos, sizeof(info->output) - (info->out_pos - info->output),
trace in debugtools.c:  142       if ((ret == -1) || (ret >= sizeof(info->output) - (info->out_pos - info->output)))
trace in debugtools.c:  150       p = strrchr( info->out_pos, '\n' );
trace in debugtools.c:  151       if (!p) info->out_pos += ret;
trace in debugtools.c:  154           char *pos = info->output;
trace in debugtools.c:  155           p++;
trace in debugtools.c:  156           write( 2, pos, p - pos );
err:ntdll:critsection.c 309: section f0dfcb58 "virtual.c: csVirtual" wait timed out in thread 0009, blocked by 0000, retrying (60 sec)
trace in debugtools.c:  158           while ((*pos = *p++)) pos++;
trace in debugtools.c:  159           info->out_pos = pos;
trace in debugtools.c:  161       return ret;
trace in debugtools.c:  162   }
trace in debug.c:  200       va_end(valist);
trace in debug.c:  201       return ret;
trace in debug.c:  202   }
trace in critsection.c:  311               status = wait_semaphore( crit, 60 );
trace in critsection.c:  123       if (use_futexes() && crit->DebugInfo)  /* debug info is cleared by MakeCriticalSectionGlobal */
trace in critsection.c:   95   static inline int use_futexes(void) { return 0; }trace in critsection.c:  141           HANDLE sem = get_semaphore( crit );
trace in critsection.c:  104       HANDLE ret = crit->LockSemaphore;
trace in critsection.c:  105       if (!ret)
trace in critsection.c:  115       return ret;
trace in critsection.c:  116   }
trace in critsection.c:  144           time.QuadPart = timeout * (LONGLONG)-10000000;
trace in critsection.c:  145           return NtWaitForSingleObject( sem, FALSE, &time );
trace in sync.c:  759       return NtWaitForMultipleObjects( 1, &handle, FALSE, alertable, timeout );
trace in sync.c:  744       UINT flags = SELECT_INTERRUPTIBLE;
trace in sync.c:  746       if (!count || count > MAXIMUM_WAIT_OBJECTS) return STATUS_INVALID_PARAMETER_1;
trace in sync.c:  748       if (wait_all) flags |= SELECT_ALL;
trace in sync.c:  749       if (alertable) flags |= SELECT_ALERTABLE;
trace in sync.c:  750       return NTDLL_wait_for_multiple_objects( count, handles, flags, timeout, 0 );
trace in sync.c:  706       if (timeout) flags |= SELECT_TIMEOUT;
trace in sync.c:  709           SERVER_START_REQ( select )
trace in sync.c:  711               req->flags   = flags;
trace in sync.c:  712               req->cookie  = &cookie;
trace in sync.c:  713               req->signal  = signal_object;
trace in sync.c:  714               NTDLL_get_server_timeout( &req->timeout, timeout );
trace in time.c:  440       if (!timeout)  /* infinite timeout */
trace in time.c:  444       else if (timeout->QuadPart <= 0)  /* relative timeout */
trace in time.c:  448           if (-timeout->QuadPart > (LONGLONG)INT_MAX * TICKSPERSEC)
trace in time.c:  452               ULONG sec = RtlEnlargedUnsignedDivide( -timeout->QuadPart, TICKSPERSEC, &remainder );
trace in large_int.c:  267       UINT ret = a / b;
trace in large_int.c:  268       if (remptr) *remptr = a % b;
trace in large_int.c:  269       return ret;
trace in large_int.c:  271   }
trace in time.c:  453               gettimeofday( &tv, 0 );
trace in time.c:  454               when->sec = tv.tv_sec + sec;
trace in time.c:  455               if ((when->usec = tv.tv_usec + (remainder / 10)) >= 1000000)
trace in time.c:  460               if (when->sec < tv.tv_sec)  /* overflow */
trace in time.c:  463       }
trace in time.c:  477   }
trace in sync.c:  715               wine_server_add_data( req, handles, count * sizeof(HANDLE) );
trace in server.h:   75       struct __server_request_info * const req = req_ptr;
trace in server.h:   76       if (size)
trace in server.h:   78           req->data[req->data_count].ptr = ptr;
trace in server.h:   79           req->data[req->data_count++].size = size;
trace in server.h:   80           req->u.req.request_header.request_size += size;
trace in server.h:   82   }
trace in sync.c:  716               ret = wine_server_call( req );
trace in server.c:  316       struct __server_request_info * const req = req_ptr;
trace in server.c:  319       sigprocmask( SIG_BLOCK, &block_set, &old_set );
trace in server.c:  320       send_request( req );
trace in server.c:  225       if (!req->u.req.request_header.request_size)
trace in server.c:  235           vec[0].iov_base = (void *)&req->u.req;
trace in server.c:  236           vec[0].iov_len = sizeof(req->u.req);
trace in server.c:  237           for (i = 0; i < req->data_count; i++)
trace in server.c:  239               vec[i+1].iov_base = (void *)req->data[i].ptr;
trace in server.c:  240               vec[i+1].iov_len = req->data[i].size;
trace in server.c:  237           for (i = 0; i < req->data_count; i++)
trace in server.c:  242           if ((ret = writev( ntdll_get_thread_data()->request_fd, vec, i+1 )) ==
trace in ntdll_misc.h:  127       return (struct ntdll_thread_data *)NtCurrentTeb()->SystemReserved2;
trace in thread.c: 1022       return pthread_functions.get_current_teb();
trace in pthread.C:  150       return pthread_getspecific( teb_key );
trace in pthread.C:  152   }
trace in thread.c: 1023   }
trace in ntdll_misc.h:  128   }
trace in server.c:  243               req->u.req.request_header.request_size + sizeof(req->u.req)) return;
trace in server.c:  321       wait_reply( req );
trace in server.c:  286       read_reply_data( &req->u.reply, sizeof(req->u.reply) );
trace in server.c:  263           if ((ret = read( ntdll_get_thread_data()->reply_fd, buffer, size )) > 0)
trace in ntdll_misc.h:  127       return (struct ntdll_thread_data *)NtCurrentTeb()->SystemReserved2;
trace in thread.c: 1022       return pthread_functions.get_current_teb();
trace in pthread.C:  150       return pthread_getspecific( teb_key );
trace in pthread.C:  152   }
trace in thread.c: 1023   }
trace in ntdll_misc.h:  128   }
trace in server.c:  265               if (!(size -= ret)) return;
trace in server.c:  287       if (req->u.reply.reply_header.reply_size)
trace in server.c:  289   }
trace in server.c:  322       sigprocmask( SIG_SETMASK, &old_set, NULL );
trace in server.c:  323       return req->u.reply.reply_header.error;
trace in server.c:  324   }
trace in sync.c:  719           if (ret == STATUS_PENDING) ret = wait_reply( &cookie );
trace in sync.c:  618           ret = read( ntdll_get_thread_data()->wait_fd[0], &reply, sizeof(reply) );
trace in ntdll_misc.h:  127       return (struct ntdll_thread_data *)NtCurrentTeb()->SystemReserved2;
trace in thread.c: 1022       return pthread_functions.get_current_teb();
trace in pthread.C:  150       return pthread_getspecific( teb_key );
trace in pthread.C:  152   }
trace in thread.c: 1023   }
trace in ntdll_misc.h:  128   }



More information about the wine-devel mailing list