A computer system in accordance with the present invention provides a method
of
communicating events from a server to remote procedure call clients. The disclosed
technique begins with a remote procedure call by a remote procedure call client
to a server to establish an initial client-server connection. Next, there is a
remote procedure call to create a guaranteed delivery communication conduit, such
as a named pipe, between the server and client and to create a server asynchronous
event thread in a blocked state for blocking execution of the server asynchronous
event thread. A client asynchronous event thread in the client is then created
to open the named pipe. If the server detects an event, an event message is generated
which places the server asynchronous event thread in an unblocked state to allow
execution of the server asynchronous event thread. Event data may then be transmitted
across the named pipe from the server to the client. After transfer of the event
data is complete, the server asynchronous event thread is blocked. By unblocking
the server asynchronous event thread when an event is detected and blocking the
server asynchronous event thread following transmission of the event through a
named pipe to the client, asynchronous events may be communicated by a server to
remote procedure call clients. As a result, it is not necessary for a remote procedure
call client to poll a server to receive asynchronous event information.