Changeset 41269bd in mainline
- Timestamp:
- 2006-06-07T17:28:39Z (19 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- ce5bcb4
- Parents:
- 70178b74
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
console/console.c
r70178b74 r41269bd 289 289 switch (IPC_GET_METHOD(call)) { 290 290 case IPC_M_PHONE_HUNGUP: 291 ipc_answer_fast(callid,0,0,0);292 291 /* TODO: Handle hangup */ 293 292 return; … … 369 368 break; 370 369 } 371 372 /* Commit hangup */373 ipc_answer_fast(callid, 0,0,0);374 370 conn->used = 0; 375 371 return; -
fb/fb.c
r70178b74 r41269bd 922 922 for (i=1; i < MAX_VIEWPORTS; i++) 923 923 vport->initialized = 0; 924 ipc_answer_fast(callid,0,0,0);925 924 return; /* Exit thread */ 926 925 -
libc/generic/async.c
r70178b74 r41269bd 132 132 ipc_callid_t callid; 133 133 ipc_call_t call; 134 ipc_callid_t close_callid; /* Identification of closing packet */ 134 135 void (*cthread)(ipc_callid_t,ipc_call_t *); 135 136 } connection_t; … … 267 268 msg->call = *call; 268 269 list_append(&msg->link, &conn->msg_queue); 270 271 if (IPC_GET_METHOD(*call) == IPC_M_PHONE_HUNGUP) 272 conn->close_callid = callid; 269 273 270 274 /* If the call is waiting for event, run it */ … … 359 363 unsigned long key; 360 364 msg_t *msg; 365 int close_answered = 0; 361 366 362 367 /* Setup thread local connection pointer */ … … 372 377 msg = list_get_instance(PS_connection->msg_queue.next, msg_t, link); 373 378 list_remove(&msg->link); 379 if (msg->callid == PS_connection->close_callid) 380 close_answered = 1; 374 381 ipc_answer_fast(msg->callid, EHANGUP, 0, 0); 375 382 free(msg); 376 383 } 384 if (PS_connection->close_callid) 385 ipc_answer_fast(PS_connection->close_callid, 0, 0, 0); 377 386 } 378 387 … … 407 416 list_initialize(&conn->msg_queue); 408 417 conn->callid = callid; 418 conn->close_callid = 0; 409 419 if (call) 410 420 conn->call = *call;
Note:
See TracChangeset
for help on using the changeset viewer.