Changeset 6c46350 in mainline
- Timestamp:
- 2006-06-03T00:30:11Z (19 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 7f079d9
- Parents:
- 27386e6a
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
libc/generic/async.c
r27386e6a r6c46350 217 217 /** Insert sort timeout msg into timeouts list 218 218 * 219 * Assume async_futex is held220 219 */ 221 220 static void insert_timeout(awaiter_t *wd) … … 284 283 msg_t *msg; 285 284 ipc_callid_t callid; 285 connection_t *conn; 286 286 287 287 assert(PS_connection); 288 /* GCC 4.1.0 coughs on PS_connection-> dereference, 289 * GCC 4.1.1 happilly puts the rdhwr instruction in delay slot. 290 * I would never expect to find so many errors in 291 * compiler *($&$(*&$ 292 */ 293 conn = PS_connection; 288 294 289 295 if (usecs < 0) /* TODO: let it get through the ipc_call once */ … … 293 299 294 300 if (usecs) { 295 gettimeofday(& PS_connection->wdata.expires, NULL);296 tv_add(& PS_connection->wdata.expires, usecs);301 gettimeofday(&conn->wdata.expires, NULL); 302 tv_add(&conn->wdata.expires, usecs); 297 303 } else { 298 PS_connection->wdata.inlist = 0;304 conn->wdata.inlist = 0; 299 305 } 300 306 /* If nothing in queue, wait until something appears */ 301 while (list_empty(& PS_connection->msg_queue)) {307 while (list_empty(&conn->msg_queue)) { 302 308 if (usecs) { 303 PS_connection->wdata.inlist = 1;304 insert_timeout(& PS_connection->wdata);309 conn->wdata.inlist = 1; 310 insert_timeout(&conn->wdata); 305 311 } 306 PS_connection->wdata.active = 0;312 conn->wdata.active = 0; 307 313 psthread_schedule_next_adv(PS_TO_MANAGER); 308 314 /* Futex is up after getting back from async_manager 309 315 * get it again */ 310 316 futex_down(&async_futex); 311 if (usecs && PS_connection->wdata.timedout && \312 list_empty(& PS_connection->msg_queue)) {317 if (usecs && conn->wdata.timedout && \ 318 list_empty(&conn->msg_queue)) { 313 319 /* If we timed out-> exit */ 314 320 futex_up(&async_futex); … … 317 323 } 318 324 319 msg = list_get_instance( PS_connection->msg_queue.next, msg_t, link);325 msg = list_get_instance(conn->msg_queue.next, msg_t, link); 320 326 list_remove(&msg->link); 321 327 callid = msg->callid; … … 451 457 } 452 458 453 /** Fire all timeouts that expired */ 459 /** Fire all timeouts that expired 460 * 461 */ 454 462 static void handle_expired_timeouts(void) 455 463 { … … 503 511 gettimeofday(&tv,NULL); 504 512 if (tv_gteq(&tv, &waiter->expires)) { 513 futex_up(&async_futex); 505 514 handle_expired_timeouts(); 506 515 continue; -
libc/generic/io/stream.c
r27386e6a r6c46350 52 52 53 53 static int console_phone = -1; 54 static stream_t streams[FDS] = {{0, 0, 0, -1}};54 static stream_t streams[FDS]; 55 55 56 56 static ssize_t write_stderr(void *param, const void *buf, size_t count) … … 117 117 118 118 stream.w = write_stdout; 119 stream.phone = console_phone; 119 120 stream.param = 0; 120 121 return stream; -
tetris/Makefile
r27386e6a r6c46350 11 11 .PHONY: all clean depend disasm 12 12 13 all: $(OUTPUT) 13 all: $(OUTPUT) disasm 14 14 15 15 -include Makefile.depend
Note:
See TracChangeset
for help on using the changeset viewer.