Changeset 14199


Ignore:
Timestamp:
Aug 18, 2010, 12:41:02 PM (9 years ago)
Author:
gb
Message:

Free the (separate) signal stack on thread exit on ARM Linux.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/lisp-kernel/thread_manager.c

    r14197 r14199  
    14341434      condemn_area_holding_area_lock(cs);
    14351435    }
     1436    /* On some platforms - currently just linuxarm - we have to
     1437       allocate a separate alternate signal stack (rather than just
     1438       using a few pages of the thread's main stack.)  Disable and
     1439       free that alternate stack here.
     1440    */
     1441#ifdef ARM
     1442#if defined(LINUX)
     1443    {
     1444      stack_t new, current;
     1445      new.ss_flags = SS_DISABLE;
     1446      if (sigaltstack(&new, &current) == 0) {
     1447        munmap(current.ss_sp, current.ss_size);
     1448      }
     1449    }
     1450#endif
     1451#endif
    14361452    destroy_semaphore(&tcr->suspend);
    14371453    destroy_semaphore(&tcr->resume);
Note: See TracChangeset for help on using the changeset viewer.