** This function can be called asynchronously (e.g. during a signal), ** under "reasonable" assumptions. A new 'ci' is completely linked ** in the list before it becomes part of the "active" list, and ** we assume that pointers are atomic (see comment in next function). ** (If we traverse one more item, there is no problem. If we traverse ** one less item, the worst that can happen is that the sig
| 116 | ** not interrupt the script.) |
| 117 | */ |
| 118 | static void settraps (CallInfo *ci) { |
| 119 | for (; ci != NULL; ci = ci->previous) |
| 120 | if (isLua(ci)) |
| 121 | ci->u.l.trap = 1; |
| 122 | } |
| 123 | |
| 124 | |
| 125 | /* |