# Can't suspend()ed task return a value in 1.8.0alpha1?

Ahn Jin-Su (jsahn@ee.snu.ac.kr)
Thu, 30 Nov 1995 22:48:36 PST

- Messages sorted by:[ date ][ thread ][ subject ][ author ]

    In examing tasks.c, I found this:
                     case TASK_SUSPENDED:
                        current_task_id = t->t.suspended.the_vm->task_id;
     this line ->       resume_from_previous_vm(t->t.suspended.the_vm,
                                                t->t.suspended.value,
                                                TASK_SUSPENDED);
                        did_one = 1;
                        break;

    In server 1.7.9p2, it was like this:
    	                  case TASK_SUSPENDED:
                        current_task_id = t->t.suspended.id;
     this line ->       resume_suspended_task(t->t.suspended.the_vm, 0);
                        did_one = 1;
                        break;

    It seems that a suspend()ed task can't return a value, and it couldn't in
    older versions. But, in older versions, it is *possible* without hacking
    other files. I made a server hack which depends on values from suspend()ed task
    and read()ing task, for using read() in :do_login_command(). But it seems
    I'm in a hard way... (not technical, but just I dislike to hack the well-
    formed server interface.....)

    Ahn, Jin-su    (jsahn@ee.snu.ac.kr)
    School of Electrical Engineering
    Seoul National University, Korea