| Ticket UUID: | 0654cecae10ba0762303c77b114bd3871f4ecc09 | ||
| Title: | file copy from zipfs does not terminate | ||
| Type: | RFE | Created on: | 2019-08-19 09:52:32 |
| Submitter: | chw | Assigned to: | nobody |
| Subsystem: | 37. File System | Severity: | Minor |
| Priority: | 5 Medium | Last modified: | 2026-10-12 16:53:43 |
| Status: | Open | Closed by: | nobody |
| Resolution: | None | Closed on: | |
| Version: | 9.0.5, 9.1.0 | ||
| Description: | ||||
See https://groups.google.com/forum/#!topic/comp.lang.tcl/5Jx7VY0ggC8 for original context. The objective is to have support for event driven/background operations on the ZIP file system in order to use e.g. fcopy with -command option to asynchronously transfer data from a file in the ZIP file system to a socket. See also the corresponding ticket on www.androwish.org in https://www.androwish.org/index.html/info/e1c81d1c2216f3b7 | ||||
| User Comments: | ||||
chw added on 2019-08-24 18:35:25:
Meanwhile the issue seems solved so far, see these check-ins on www.androwish.org: https://www.androwish.org/home/info/4d44284373 https://www.androwish.org/home/info/880df261cc serhiy.storchaka added on 2026-10-12 16:53:43:
Still happens in 9.0 and 9.1: the watch proc of zipfs channels does nothing,
so Proposed fix in branch zipfs-channel-events: a zipfs channel is always ready, so while it is watched a zero-delay timer notifies the channel, as for the zlib transform and reflected transforms. The AndroWish fix uses a per-thread event source and a table of watched channels instead. It delivers real file events, but needs much more code and per-thread data that has to be handled carefully at thread exit (its second check-in fixes that). Both need a thread action proc for channel transfer between threads; the branch adds one that cancels the timer. | ||||
