View | Details | Raw Unified | Return to bug 23647
Collapse All | Expand All

(-)lib/libc_r/uthread/uthread_kern.c (+5 lines)
Lines 203-208 _thread_kern_scheduler(void) Link Here
203
		_thread_sig_check_pending(_thread_run);
203
		_thread_sig_check_pending(_thread_run);
204
	}
204
	}
205
205
206
	/* Handle any pending signals */
207
	_queue_signals = 1;
208
	dequeue_signals();
209
	_queue_signals = 0;
210
206
	/*
211
	/*
207
	 * Enter a scheduling loop that finds the next thread that is
212
	 * Enter a scheduling loop that finds the next thread that is
208
	 * ready to run. This loop completes when there are no more threads
213
	 * ready to run. This loop completes when there are no more threads
(-)lib/libc_r/uthread/uthread_sig.c (+8 lines)
Lines 483-488 _thread_sig_handle_pending(void) Link Here
483
					 */
483
					 */
484
					thread_sig_add(pthread, sig,
484
					thread_sig_add(pthread, sig,
485
					    /*has_args*/ 1);
485
					    /*has_args*/ 1);
486
				} else {
487
					/*
488
					 * We do not want to accidentally
489
					 * loose the signal, will try to
490
					 * handle it at some later time:
491
					 */
492
					_thread_sigq[i].blocked = 0;
493
					_thread_sigq[i].pending = 1;
486
				}
494
				}
487
			}
495
			}
488
		}
496
		}

Return to bug 23647