Last change
on this file since 48521 was 39288, checked in by vboxsync, 13 years ago |
CrOpenGL: avoid blocked client polling & extra memcpy (block hgsmi command until completion)
|
-
Property svn:eol-style
set to
native
-
Property svn:keywords
set to
Id
|
File size:
858 bytes
|
Line | |
---|
1 | /* Copyright (c) 2001, Stanford University
|
---|
2 | * All rights reserved
|
---|
3 | *
|
---|
4 | * See the file LICENSE.txt for information on redistributing this software.
|
---|
5 | */
|
---|
6 |
|
---|
7 | #include "cr_mem.h"
|
---|
8 | #include "cr_net.h"
|
---|
9 | #include "server_dispatch.h"
|
---|
10 | #include "server.h"
|
---|
11 |
|
---|
12 | void SERVER_DISPATCH_APIENTRY crServerDispatchWriteback( GLint *writeback )
|
---|
13 | {
|
---|
14 | (void) writeback;
|
---|
15 | crServerWriteback( );
|
---|
16 | }
|
---|
17 |
|
---|
18 | void crServerWriteback(void)
|
---|
19 | {
|
---|
20 | CRMessageWriteback *wb = (CRMessageWriteback *) crAlloc( sizeof( *wb ) );
|
---|
21 | wb->header.type = CR_MESSAGE_WRITEBACK;
|
---|
22 | CRDBGPTR_PRINTWB(cr_server.curClient->conn->u32ClientID, &cr_server.writeback_ptr);
|
---|
23 | CRDBGPTR_CHECKNZ(&cr_server.writeback_ptr);
|
---|
24 | crMemcpy( &(wb->writeback_ptr), &(cr_server.writeback_ptr), sizeof( wb->writeback_ptr ) );
|
---|
25 | crNetSend( cr_server.curClient->conn, NULL, wb, sizeof( *wb ) );
|
---|
26 | CRDBGPTR_SETZ(&cr_server.writeback_ptr);
|
---|
27 | crFree( wb );
|
---|
28 | }
|
---|
Note:
See
TracBrowser
for help on using the repository browser.