aboutsummaryrefslogtreecommitdiffstats
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
| | * | | merge from trunkTom Tromey2013-08-2519-327/+466
| | |\ \ \
| | * | | | fix up some merge errors in process.cTom Tromey2013-08-191-17/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | remove a dead function clean up a fixme I added in create_pty during the merge
| | * | | | merge from trunkTom Tromey2013-08-1995-2885/+4242
| | |\ \ \ \
| | * \ \ \ \ merge from trunkTom Tromey2013-07-2674-1604/+2378
| | |\ \ \ \ \
| | * \ \ \ \ \ Merge from trunkTom Tromey2013-07-1256-1037/+1453
| | |\ \ \ \ \ \
| | * | | | | | | Use thread_alive_p in a couple more spotsTom Tromey2013-07-111-2/+2
| | | | | | | | |
| | * | | | | | | fix xfree bug in run_threadTom Tromey2013-07-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | this fixes run_thread to account for the dummy slot in specpdl
| | * | | | | | | merge from trunkTom Tromey2013-07-0670-24722/+27505
| | |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | this merges frmo trunk and fixes various build issues. this needed a few ugly tweaks. this hangs in "make check" now
| | * | | | | | | | add assertion to flush_stack_call_funcTom Tromey2013-07-061-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | functions called via flush_stack_call_func are assumed to return with the global lock held again, and with current_thread reset. this assertion verifies part of this
| | * | | | | | | | call init_primary_thread from init_threadsTom Tromey2013-07-061-0/+1
| | | | | | | | | |
| | * | | | | | | | avoid SAFE_ALLOCATom Tromey2013-07-041-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | avoid SAFE_ALLOCA in xgselect.c. in this code it is just as easy to always use malloc; and it avoids thread-switching problems, as the safe-alloca stuff implicitly refers to the current thread
| | * | | | | | | | avoid current_thread sometimesTom Tromey2013-07-041-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | this tweaks thread.c to use 'self' instead of current_thread in a couple spots. this is clearer and more robust
| | * | | | | | | | initialize saved_valueTom Tromey2013-07-041-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | initialize the saved_value field in all needed cases also, add an assertion to do_one_unbind
| | * | | | | | | | unlink thread laterTom Tromey2013-07-031-11/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | unlink thread from global list later also remove some unnecessary destruction code
| | * | | | | | | | introduce thread_alive_p macroTom Tromey2013-07-031-6/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This introduces the thread_alive_p macro and changes thread-alive-p to use it. This is a minor cleanup. It also changes all-threads to ignore dead threads.
| | * | | | | | | | Don't call unbind_for_thread_switch in run_threadTom Tromey2013-07-031-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This removes the call to unbind_for_thread_switch from run_thread. This isn't necessary because acquire_global_lock does it properly.
| | * | | | | | | | remove unused field from struct thread_stateTom Tromey2013-07-031-6/+0
| | | | | | | | | |
| | * | | | | | | | Fix a comment.Tom Tromey2013-07-031-2/+2
| | | | | | | | | |
| | * | | | | | | | merge from trunkTom Tromey2013-06-1332-186/+530
| | |\ \ \ \ \ \ \ \
| | * | | | | | | | | fix a few latent issues in the thread patchTom Tromey2013-06-061-6/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * we called unbind_for_thread_switch unconditionally, but this is wrong if the previous thread exited * likewise, exiting a thread should clear current_thread * redundant assignment in run_thread * clean up init_threads - no need to re-init the primary thread This patch still sometimes causes weird hangs in "make check". However, I think that is a kernel bug, since Emacs enters the zombie state but its parent process hangs in wait. This shouldn't happen.
| | * | | | | | | | | update eval.c to make it build again after the mergeTom Tromey2013-06-031-12/+12
| | | | | | | | | | |
| | * | | | | | | | | merge from trunk; clean up some issuesTom Tromey2013-06-0394-3459/+6483
| | |\ \ \ \ \ \ \ \ \
| | * | | | | | | | | | don't let kill-buffer kill a buffer if it is current in any threadTom Tromey2013-03-183-0/+24
| | | | | | | | | | | |
| | * | | | | | | | | | fix process bugsTom Tromey2013-03-171-68/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix some process-related bugs, mostly thinkos from the conversion to recording fd state as flags. This now passes the test suite without hanging.
| | * | | | | | | | | | merge from trunkTom Tromey2013-03-1737-418/+884
| | |\ \ \ \ \ \ \ \ \ \
| | * \ \ \ \ \ \ \ \ \ \ merge from trunkTom Tromey2013-03-0896-3504/+4662
| | |\ \ \ \ \ \ \ \ \ \ \
| | * \ \ \ \ \ \ \ \ \ \ \ merge from trunkTom Tromey2013-01-1638-649/+833
| | |\ \ \ \ \ \ \ \ \ \ \ \
| | * \ \ \ \ \ \ \ \ \ \ \ \ merge from trunkTom Tromey2013-01-05197-726/+1767
| | |\ \ \ \ \ \ \ \ \ \ \ \ \
| | * | | | | | | | | | | | | | Remove bit accidentally left over from the mergeTom Tromey2012-12-171-4/+0
| | | | | | | | | | | | | | | |
| | * | | | | | | | | | | | | | merge from trunkTom Tromey2012-12-17167-12245/+18481
| | |\ \ \ \ \ \ \ \ \ \ \ \ \ \
| | * \ \ \ \ \ \ \ \ \ \ \ \ \ \ merge from trunkTom Tromey2012-09-0488-1777/+2452
| | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | * | | | | | | | | | | | | | | | cannot thread-join the current threadTom Tromey2012-08-271-0/+3
| | | | | | | | | | | | | | | | | |
| | * | | | | | | | | | | | | | | | rename condition-variablep to condition-variable-pTom Tromey2012-08-231-2/+2
| | | | | | | | | | | | | | | | | |
| | * | | | | | | | | | | | | | | | pass the thread name to the OS if possibleTom Tromey2012-08-203-5/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | use prctl to pass the thread name to the OS, if possible
| | * | | | | | | | | | | | | | | | Merge from trunkTom Tromey2012-08-2079-1818/+3582
| | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | * | | | | | | | | | | | | | | | | another docstring fixletTom Tromey2012-08-191-1/+2
| | | | | | | | | | | | | | | | | | |
| | * | | | | | | | | | | | | | | | | minor docstring fixupTom Tromey2012-08-191-4/+4
| | | | | | | | | | | | | | | | | | |
| | * | | | | | | | | | | | | | | | | add condition-mutex and condition-nameTom Tromey2012-08-191-0/+27
| | | | | | | | | | | | | | | | | | |
| | * | | | | | | | | | | | | | | | | ensure name of a thread is a stringTom Tromey2012-08-191-0/+3
| | | | | | | | | | | | | | | | | | |
| | * | | | | | | | | | | | | | | | | ensure name of a mutex is a stringTom Tromey2012-08-191-0/+3
| | | | | | | | | | | | | | | | | | |
| | * | | | | | | | | | | | | | | | | use NILPTom Tromey2012-08-191-3/+3
| | | | | | | | | | | | | | | | | | |
| | * | | | | | | | | | | | | | | | | condition variablesTom Tromey2012-08-196-20/+255
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This implements condition variables for elisp. This needs more tests.
| | * | | | | | | | | | | | | | | | | comment fixesTom Tromey2012-08-181-1/+7
| | | | | | | | | | | | | | | | | | |
| | * | | | | | | | | | | | | | | | | refactor systhread.hTom Tromey2012-08-184-128/+121
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This refactors systhread.h to move the notion of a "lisp mutex" into thread.c. This lets us make make the global lock and post_acquire_global_lock static.
| | * | | | | | | | | | | | | | | | | write docstrings for the thread functionsTom Tromey2012-08-171-26/+54
| | | | | | | | | | | | | | | | | | |
| | * | | | | | | | | | | | | | | | | declare unbind_for_thread_switch and rebind_for_thread_switch in lisp.hTom Tromey2012-08-172-4/+2
| | | | | | | | | | | | | | | | | | |
| | * | | | | | | | | | | | | | | | | process changesTom Tromey2012-08-154-28/+221
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This changes wait_reading_process_output to handle threads better. It introduces a wrapper for select that releases the global lock, and it ensures that only a single thread can select a given file descriptor at a time. This also adds the thread-locking feature to processes. By default a process can only have its output accepted by the thread that created it. This can be changed using set-process-thread. (If the thread exits, the process is again available for waiting by any thread.) Note that thread-signal will not currently interrupt a thread blocked on select. I'll fix this later.
| | * | | | | | | | | | | | | | | | | Prepare process.c for threads by not having global select masks.Tom Tromey2012-08-151-130/+165
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The next step is to make it so selects can choose fds by thread.
| | * | | | | | | | | | | | | | | | | fix a latent bug in process.cTom Tromey2012-08-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * process.c (wait_reading_process_output): Check Writeok bits, not write_mask.
| | * | | | | | | | | | | | | | | | | This adds thread-blocker, a function to examine what a thread isTom Tromey2012-08-152-1/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | blocked on. I thought this would be another nice debugging addition.