gensio_tcl_funcs_alloc(3)
π gensio_tcl_funcs_alloc(3) β Library Functions Manual π
okay bestie, gather round, because we're doing a manual page from the Library Functions Manual and it's giving niche-but-iconic π
β¨ NAME β¨
gensio_tcl_funcs_alloc β the abstraction for some operating system functions, but make it tcl π
πΈ SYNOPSIS πΈ
#include <gensio/gensio_tcl.h>
int gensio_tcl_funcs_alloc(struct gensio_os_funcs **o)
π¦ DESCRIPTION π¦
So this structure is literally the moment where the gensio library gets a lil abstraction layer that lets it run on top of tcl. π«Ά If you want the full deets on what it actually does, go read the tcl_os_funcs.3 man page β that's the whole lore drop. This is the one you reach for when you've got a project based on tcl and you're like "bestie, I need to integrate gensio into this" π
ngl though, it has some limitations, and it's because the tcl interface is a little weak in places. Basically: no threads. π
Here's the tea, fr fr β in tcl, if you start a timer, that timer will only fire in that thread's call to Tcl_DoOneEvent. Same situation with file handlers. So basically timers, idle calls, and file handlers all belong to a thread. π
You could, theoretically, run multiple threads β as long as you allocate an os handler per thread and did everything with an os handler only in the thread that created it. But lowkey that's not very useful. π
So if you really want real threading to work? You put tcl on top of gensio os funcs using Tcl_NotifierProcs. And that, my love, I leave as an exercise to the reader. β¨ (not me handing you homework, sorry π)
β RETURN VALUES β
A gensio_err returns a standard gensio error. that's it, that's the vibe π
π SEE ALSO π
mwah π that's the whole page. this one's dated 03 Feb 2021 and it lives under the name gensio_tcl_funcs_alloc(3) β slay, go forth and integrate your tcl, bestie πβ¨
π¦ where this page comes from
- epel 9: libgensio-devel 2.8.15-1.el9 Β· GPL-2.0-only AND LGPL-2.1-only AND Apache-2.0
- fedora 43: libgensio-devel 2.8.15-5.fc43 Β· GPL-2.0-only AND LGPL-2.1-only AND Apache-2.0
- fedora 43: libgensio-devel 2.8.15-5.fc43 Β· GPL-2.0-only AND LGPL-2.1-only AND Apache-2.0
- fedora 43: libgensio-devel 3.0.4-1.fc43 Β· GPL-2.0-only AND LGPL-2.1-only AND Apache-2.0
- fedora 43: libgensio-devel 3.0.4-1.fc43 Β· GPL-2.0-only AND LGPL-2.1-only AND Apache-2.0
- fedora 44: libgensio-devel 3.0.2-1.fc44 Β· GPL-2.0-only AND LGPL-2.1-only AND Apache-2.0
- fedora 44: libgensio-devel 3.0.2-1.fc44 Β· GPL-2.0-only AND LGPL-2.1-only AND Apache-2.0
- fedora 44: libgensio-devel 3.0.4-1.fc44 Β· GPL-2.0-only AND LGPL-2.1-only AND Apache-2.0
- fedora 44: libgensio-devel 3.0.4-1.fc44 Β· GPL-2.0-only AND LGPL-2.1-only AND Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms