#
eddec292 |
|
21-Jul-2010 |
Oliver Tappe <zooey@hirschkaefer.de> |
* applied patch by kaliber that fixes more than 100 warnings - thanks a lot! Closes #6349 git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37670 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6730553a |
|
14-Nov-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Already set tty::lock() in init_driver(). This makes it always safe to be used. * Added tty::ref_count. Each cookie keeps a reference. Only when a cookie is freed the reference is surrendered. A tty is considered used as long as it is still referenced. This allows to access a tty through the cookie, even if it already has been closed. * Fixed tty_deselect(). It was keeping registered select events when called after the cookie has been closed. The referenced select_sync structure would become invalid and later attempts to send select notifications for the tty could crash. Fixes #3126. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28651 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b0f5179a |
|
28-May-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Changed recursive_lock to use a mutex instead of a semaphore. * Adjusted code using recursive locks respectively. The initialization cannot fail anymore, and it is possible to use recursive locks in the early boot process (even uninitialized, if in BSS), which simplifies things a little. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25687 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0c615a01 |
|
01-May-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Removed old mutex implementation and renamed cutex to mutex. * Trivial adjustments of code using mutexes. Mostly removing the mutex_init() return value check. * Added mutex_lock_threads_locked(), which is called with the threads spinlock being held. The spinlock is released while waiting, of course. This function is useful in cases where the existence of the mutex object is ensured by holding the threads spinlock. * Changed the two instances in the VFS code where an IO context of another team needs to be locked to use mutex_lock_threads_locked(). Before it required a semaphore-based mutex implementation. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25283 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
06b7c7ff |
|
24-Apr-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Set reasonable terminal flag defaults. This makes telnetd fully usable again. * Publish /dev/ptmx. Opening it will open a fresh pty master. In principle /dev/pt/ is obsolete now, but I guess we keep it around for compatibility with BeOS. Though there shouldn't be many applications opening a pty, that we might be interested in... * New ioctls B_IOCTL_GET_TTY_INDEX (returns the tty index) and B_IOCTL_GRANT_TTY (grants tty slave access rights). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25133 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1ed6a33c |
|
30-Mar-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Also publish /dev/tty. Opening it will open the controlling tty for the current process. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24681 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e8429ec9 |
|
03-Oct-2007 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Added debugger command "tty", which dumps some info about a tty. * RequestOwner was removing the wrong request from the second queue, which could cause the list structure to become invalid and result in bug #1526. * In the writer loops we do now call tty_notify_if_available() when we're potentially going to wait and had written something before, so that a waiting reader will be woken up also when we write more bytes than fit into the ring buffer. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22421 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2f6b4f3e |
|
28-Sep-2007 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* When canonical input processing is enabled reads should only return anything, if a line is available. Fixes bug #1483. * Replaced the request owner waiting semaphore by a condition variable and removed the now no longer needed SemaphorePool. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22357 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
696c54d0 |
|
28-Jul-2007 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Moved members pgrp_id, termios, window_size from the tty structure to the new structure tty_settings of which there's only one instance per master/slave tty pair. Previously the existence of two instances of those members caused several kinds of problems, e.g. the Terminal setting the window size on the master and CLI programs readings the unchanged values from the slave. E.g. less correctly adjusts the display when the Terminal size changes, now. * Reorganized writing to a TTY. We do no longer handle writes to master and slave the same way. Writes to the master are "input" and need to be processed differently from writes to the slave ("output"). Before, both were processed first as output then as input, which caused incorrect behavior. E.g. CRs were not echoed correctly. * Added canonical ERASE (backspace) and KILL (clear line) processing. Couldn't really see it work. glibc's fgets() seems to read single chars, so that we never have anything in the line buffer. * Added handling for EOF. Works well with Be's Terminal, ours seems to write an ESC sequence instead of the EOF char (Ctrl-D), though. * Extended output processing support (ECHOE, ECHOK, ECHONL, OCRNL, ONLRET, OLCUC). * Writes use user_memcpy() now. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21735 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
27a55239 |
|
20-Mar-2005 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Dealt with (hopefully) all open/close race conditions. * Implemented unblocking of pending operations when closing a cookie. Needed to change the simple one reader semaphore, one writer semaphore strategy for blocking to a request queue based approach (otherwise unblocking would have been really hairy). * Implemented select() support. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11931 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
005333c0 |
|
28-Sep-2004 |
Axel Dörfler <axeld@pinc-software.de> |
No more debug output for the driver part. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9106 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
fa42f1c2 |
|
27-Sep-2004 |
Axel Dörfler <axeld@pinc-software.de> |
Work in progress. Basic data exchange seems to work. Only slightly tested (moved data to and from pty <-> tty). git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9087 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6b306033 |
|
23-Sep-2004 |
Axel Dörfler <axeld@pinc-software.de> |
Added the beginnings of our TTY layer. After having had a look at our own Terminal code (former MuTerm), I even copied the original mess in /dev/tt/ and /dev/pt/. The /dev/tt/ entries could be created and removed on demand, though, but that can't be done yet. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9041 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
eddec292d5dd8251a00851880e16e6a5c07c1e3f |
|
21-Jul-2010 |
Oliver Tappe <zooey@hirschkaefer.de> |
* applied patch by kaliber that fixes more than 100 warnings - thanks a lot! Closes #6349 git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37670 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6730553ae018003356b03f2d8500520671470bc7 |
|
14-Nov-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Already set tty::lock() in init_driver(). This makes it always safe to be used. * Added tty::ref_count. Each cookie keeps a reference. Only when a cookie is freed the reference is surrendered. A tty is considered used as long as it is still referenced. This allows to access a tty through the cookie, even if it already has been closed. * Fixed tty_deselect(). It was keeping registered select events when called after the cookie has been closed. The referenced select_sync structure would become invalid and later attempts to send select notifications for the tty could crash. Fixes #3126. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28651 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b0f5179aa51eb680cdeea656a8b11fdbc6b56d63 |
|
28-May-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Changed recursive_lock to use a mutex instead of a semaphore. * Adjusted code using recursive locks respectively. The initialization cannot fail anymore, and it is possible to use recursive locks in the early boot process (even uninitialized, if in BSS), which simplifies things a little. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25687 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0c615a01ae49634aaf59fbe35b3d55b3bb8890df |
|
01-May-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Removed old mutex implementation and renamed cutex to mutex. * Trivial adjustments of code using mutexes. Mostly removing the mutex_init() return value check. * Added mutex_lock_threads_locked(), which is called with the threads spinlock being held. The spinlock is released while waiting, of course. This function is useful in cases where the existence of the mutex object is ensured by holding the threads spinlock. * Changed the two instances in the VFS code where an IO context of another team needs to be locked to use mutex_lock_threads_locked(). Before it required a semaphore-based mutex implementation. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25283 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
06b7c7ffe2bb0b87dc3afb9f0296b048807957ee |
|
24-Apr-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Set reasonable terminal flag defaults. This makes telnetd fully usable again. * Publish /dev/ptmx. Opening it will open a fresh pty master. In principle /dev/pt/ is obsolete now, but I guess we keep it around for compatibility with BeOS. Though there shouldn't be many applications opening a pty, that we might be interested in... * New ioctls B_IOCTL_GET_TTY_INDEX (returns the tty index) and B_IOCTL_GRANT_TTY (grants tty slave access rights). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25133 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1ed6a33cc56aee0a470aec2a822dbd2f81a5a071 |
|
30-Mar-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Also publish /dev/tty. Opening it will open the controlling tty for the current process. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24681 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e8429ec9e65e68871a6aa998b07cce5c3cdb9c9e |
|
03-Oct-2007 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Added debugger command "tty", which dumps some info about a tty. * RequestOwner was removing the wrong request from the second queue, which could cause the list structure to become invalid and result in bug #1526. * In the writer loops we do now call tty_notify_if_available() when we're potentially going to wait and had written something before, so that a waiting reader will be woken up also when we write more bytes than fit into the ring buffer. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22421 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2f6b4f3e1a392bc9dd18659bbd57d61a2eb84fd0 |
|
28-Sep-2007 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* When canonical input processing is enabled reads should only return anything, if a line is available. Fixes bug #1483. * Replaced the request owner waiting semaphore by a condition variable and removed the now no longer needed SemaphorePool. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22357 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
696c54d0673fe190dbbae4323b48bf1b8d9c2beb |
|
28-Jul-2007 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Moved members pgrp_id, termios, window_size from the tty structure to the new structure tty_settings of which there's only one instance per master/slave tty pair. Previously the existence of two instances of those members caused several kinds of problems, e.g. the Terminal setting the window size on the master and CLI programs readings the unchanged values from the slave. E.g. less correctly adjusts the display when the Terminal size changes, now. * Reorganized writing to a TTY. We do no longer handle writes to master and slave the same way. Writes to the master are "input" and need to be processed differently from writes to the slave ("output"). Before, both were processed first as output then as input, which caused incorrect behavior. E.g. CRs were not echoed correctly. * Added canonical ERASE (backspace) and KILL (clear line) processing. Couldn't really see it work. glibc's fgets() seems to read single chars, so that we never have anything in the line buffer. * Added handling for EOF. Works well with Be's Terminal, ours seems to write an ESC sequence instead of the EOF char (Ctrl-D), though. * Extended output processing support (ECHOE, ECHOK, ECHONL, OCRNL, ONLRET, OLCUC). * Writes use user_memcpy() now. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21735 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
27a5523990f922ce4cb423b63ef26d4379049423 |
|
20-Mar-2005 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Dealt with (hopefully) all open/close race conditions. * Implemented unblocking of pending operations when closing a cookie. Needed to change the simple one reader semaphore, one writer semaphore strategy for blocking to a request queue based approach (otherwise unblocking would have been really hairy). * Implemented select() support. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11931 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
005333c0d910bf67158589ed87e0f0cb09a60a89 |
|
28-Sep-2004 |
Axel Dörfler <axeld@pinc-software.de> |
No more debug output for the driver part. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9106 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
fa42f1c2b9d66c327979c903b3881b6d53e9dc12 |
|
27-Sep-2004 |
Axel Dörfler <axeld@pinc-software.de> |
Work in progress. Basic data exchange seems to work. Only slightly tested (moved data to and from pty <-> tty). git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9087 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6b3060331448d3873bdd60566ff977cf2aaee798 |
|
23-Sep-2004 |
Axel Dörfler <axeld@pinc-software.de> |
Added the beginnings of our TTY layer. After having had a look at our own Terminal code (former MuTerm), I even copied the original mess in /dev/tt/ and /dev/pt/. The /dev/tt/ entries could be created and removed on demand, though, but that can't be done yet. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9041 a95241bf-73f2-0310-859d-f6bbb57e9c96
|