- 23 Jan, 2023 23 commits
-
-
Daniel P. Berrangé authored
Signed-off-by:
Daniel P. Berrangé <berrange@redhat.com>
-
Daniel P. Berrangé authored
This imports a simple unit test program to validate the coroutine implementation. Signed-off-by:
Daniel P. Berrangé <berrange@redhat.com>
-
Daniel P. Berrangé authored
The 'struct ucontext_t' declared by system headers appears too small, because getcontext() calls will scribble over memory after the end of the struct. The libucontext impl is a suitable alternative, as is the fallback gthread impl. Signed-off-by:
Daniel P. Berrangé <berrange@redhat.com>
-
Daniel P. Berrangé authored
libucontext is a lightweight implementation of ucontext for platforms that do not have a built-in implementation. This allows us to use the same code to support libucontext as ucontext. This is a copy of the spice-gtk commit commit fa812c88492641005a768c72502a8953bd1223b2 Author: osy <osy@turing.llc> Date: Fri Mar 4 15:52:48 2022 -0800 coroutine: add support for libucontext Signed-off-by:
Daniel P. Berrangé <berrange@redhat.com>
-
Daniel P. Berrangé authored
This will offer greater performance that the gthread impl Signed-off-by:
Daniel P. Berrangé <berrange@redhat.com>
-
Daniel P. Berrangé authored
Instead of using ucontext and setjmp together just use setjmp and limit ucontext usage to initialise the initial jmp_buf context. This simplifies the code and reduce number of context operations done. In particular using _setjmp/_longjmp moving from a context to another does not require any system call. On x64 the continuation structure is reduced from 2176 to 248 bytes. This is a copy of the spice-gtk commit commit 5989350429a79787f02e9c869c7769989781d320 Author: Frediano Ziglio <freddy77@gmail.com> Date: Fri Aug 14 05:26:35 2020 +0100 continuation: Simplify implementation Signed-off-by:
Daniel P. Berrangé <berrange@redhat.com>
-
Daniel P. Berrangé authored
Changing stack is not usually instrumentation friendly. Allows to enable the usage of Valgrind memcheck calling some valgrind macros. This is a copy of the spice-gtk commit: commit 942bd130ddd3c331045c1d3e4f580909901d285a Author: Frediano Ziglio <freddy77@gmail.com> Date: Thu Aug 13 14:31:52 2020 +0100 Allows to use Valgrind with ucontext coroutines Signed-off-by:
Daniel P. Berrangé <berrange@redhat.com>
-
Daniel P. Berrangé authored
This is a copy of spice-gtk commit: commit 9def63a7a402e491ba79a4aa98ef85f8142f11b4 Author: Frediano Ziglio <freddy77@gmail.com> Date: Tue Aug 11 21:24:26 2020 +0100 coroutine_gthread: Fix recursive yield Signed-off-by:
Daniel P. Berrangé <berrange@redhat.com>
-
Daniel P. Berrangé authored
Not necessary from Glib 2.32 for static allocated conditions. This is a copy of spice-gtk commit: commit 3b24b556fdef88e4582cffec01800d24bb65ae24 Author: Frediano Ziglio <freddy77@gmail.com> Date: Tue Aug 11 21:23:09 2020 +0100 coroutine_gthread: Do not call g_cond_init Signed-off-by:
Daniel P. Berrangé <berrange@redhat.com>
-
Daniel P. Berrangé authored
This is a copy of spice-gtk commit commit 25875b2e26a54a08571376da31684eed316df6d5 Author: Frediano Ziglio <freddy77@gmail.com> Date: Tue Aug 11 17:51:18 2020 +0100 coroutine: Initialize "current" at link time Signed-off-by:
Daniel P. Berrangé <berrange@redhat.com>
-
Daniel P. Berrangé authored
Not used and implemented in different ways by the various coroutine implementations This is a copy of spice-gtk commit: commit ca2e4ec3bb4f5ce590b8c35fe173247c71958f20 Author: Frediano Ziglio <freddy77@gmail.com> Date: Tue Aug 11 17:49:53 2020 +0100 coroutine: Remove "release" field Signed-off-by:
Daniel P. Berrangé <berrange@redhat.com>
-
Daniel P. Berrangé authored
Only used by different coroutine implementations This is a copy of the spice-gtk commit: commit 5f162843f96baf54c74cb9a5fe9b3b5801026d14 Author: Frediano Ziglio <freddy77@gmail.com> Date: Tue Aug 11 17:45:40 2020 +0100 coroutine: Make coroutine_swap static Signed-off-by:
Daniel P. Berrangé <berrange@redhat.com>
-
Daniel P. Berrangé authored
This is a copy of the spice-gtk commit: commit 274ea2683bb1c9e88ce58e2640e84a47a8fcb939 Author: Marc-André Lureau <marcandre.lureau@redhat.com> Date: Fri Jan 4 17:38:28 2019 +0400 coroutine-gthread: fix GThread deprecations Signed-off-by:
Daniel P. Berrangé <berrange@redhat.com>
-
Daniel P. Berrangé authored
Take an approach similar to gthreads, which are considered as low level/must work features by glib, which aborts on failures. This change is copied from the spice-gtk commit: commit 0508f586be974a49497a15d5ce39b2f94b68a4bf Author: Marc-André Lureau <marcandre.lureau@redhat.com> Date: Tue Nov 19 15:29:28 2013 +0100 coroutine: error out on OOM or impossible conditions Signed-off-by:
Daniel P. Berrangé <berrange@redhat.com>
-
Daniel P. Berrangé authored
The coroutine entry() return value must be passed via the caller->data, since coroutine_swap() returns from->data. (this is needed because coroutine_swap() argument is used both to return from entry() or to send data to a running coroutine) When leaving a coroutine, clear its caller. Return correct coroutine_self() before other coroutine are initialized. This is a copy of spice-gtk commit commit 0c120e0f6d94da5b7aa2009e8c07fc1290722c01 Author: Marc-André Lureau <marcandre.lureau@redhat.com> Date: Tue Nov 19 14:57:05 2013 +0100 coroutine: make gthread coroutine pass tests Signed-off-by:
Daniel P. Berrangé <berrange@redhat.com>
-
Daniel P. Berrangé authored
When leaving a coroutine, it swaps back to where it came from, not to the leader/main coroutine. This is a copy of spice-gtk commit commit a9a2c162e0ee03f80e3e6f7450a002719a80d06a Author: Marc-André Lureau <marcandre.lureau@redhat.com> Date: Fri Nov 15 22:03:40 2013 +0100 coroutine: fix current coroutine Signed-off-by:
Daniel P. Berrangé <berrange@redhat.com>
-
Daniel P. Berrangé authored
This is a copy of spice-gtk commit commit baa51c5ee34ca6d0448d02901a0a61dc87c3dff8 Author: Marc-André Lureau <marcandre.lureau@redhat.com> Date: Fri Nov 15 22:03:39 2013 +0100 coroutine: add some preconditions Signed-off-by:
Daniel P. Berrangé <berrange@redhat.com>
-
Daniel P. Berrangé authored
As described in http://www.1024cores.net/home/lock-free-algorithms/tricks/fibers This is a copy from spice-gtk of commit 1cbfe2b8fccb86a20039867fc33bc475f358f8e4 Author: Marc-André Lureau <marcandre.lureau@redhat.com> Date: Fri Aug 12 16:32:20 2011 +0200 use _setjmp/_longjmp to speed up coroutine switching Signed-off-by:
Daniel P. Berrangé <berrange@redhat.com>
-
Daniel P. Berrangé authored
The rules expect GNU make which is not the default. Signed-off-by:
Daniel P. Berrangé <berrange@redhat.com>
-
Daniel P. Berrangé authored
Many of the GNULIB rules are explicitly disabled, while others are testing for scenarios that don't apply because we don't use GNULIB, and prefer glib2 APIs over raw platform libc APIs. Signed-off-by:
Daniel P. Berrangé <berrange@redhat.com>
-
Daniel P. Berrangé authored
Signed-off-by:
Daniel P. Berrangé <berrange@redhat.com>
-
Daniel P. Berrangé authored
The syntax-check script was setting the wrong current directory, so make was reporting nothing todo, making the test a no-op. Signed-off-by:
Daniel P. Berrangé <berrange@redhat.com>
-
Daniel P. Berrangé authored
Signed-off-by:
Daniel P. Berrangé <berrange@redhat.com>
-
- 23 Dec, 2022 1 commit
-
-
- 28 Nov, 2022 1 commit
-
-
Marc-André Lureau authored
It's in the public API. Signed-off-by:
Marc-André Lureau <marcandre.lureau@redhat.com>
-
- 13 Sep, 2022 3 commits
-
-
Marc-André Lureau authored
Signed-off-by:
Marc-André Lureau <marcandre.lureau@redhat.com>
-
Marc-André Lureau authored
gtk-doc is being phased out, as unmaintained. Despite some current limitations or annoyances, gi-docgen is what Glib/Gtk+ is using these days, so follow along. I didn't include gvncpulse, it should be trivial to add if necessary... Signed-off-by:
Marc-André Lureau <marcandre.lureau@redhat.com>
-
Marc-André Lureau authored
Modernize a little bit the meson file, to avoid extra warnings when running a recent meson versions. Signed-off-by:
Marc-André Lureau <marcandre.lureau@redhat.com>
-
- 06 Sep, 2022 1 commit
-
-
Marc-André Lureau authored
Signed-off-by:
Marc-André Lureau <marcandre.lureau@redhat.com>
-
- 08 Aug, 2022 1 commit
-
-
Daniel P. Berrangé authored
Fedora best practice is to now maintain native and mingw builds together, to prevent mingw falling behind and reduce the maint burden. Signed-off-by:
Daniel P. Berrangé <berrange@redhat.com>
-
- 14 Jul, 2022 2 commits
-
-
Daniel P. Berrangé authored
Signed-off-by:
Daniel P. Berrangé <berrange@redhat.com>
-
Daniel P. Berrangé authored
Signed-off-by:
Daniel P. Berrangé <berrange@redhat.com>
-
- 07 Jul, 2022 1 commit
-
-
- 27 Jun, 2022 1 commit
-
-
Eli Schwartz authored
The keycodemapdb Meson subproject provides a program and a source input. Since it is a subproject, Meson wants to sandbox that and requires it to be explicitly exported. But this never happened -- instead, we manually poked at files using the actual string path "subprojects/......" This was always a Meson sandbox violation, but Meson 0.63.0 started noticing it and erroring out. Instead, do the right thing. Update the subproject to a version that has a meson.build with actually meaningful contents -- namely, a files variable and a found program. Then use these in order to run the needed custom_target. In the process, it is also necessary to correct the argument ordering when running keymap-gen.
-
- 23 Feb, 2022 1 commit
-
-
- 17 Nov, 2021 2 commits
-
-
Daniel P. Berrangé authored
Signed-off-by:
Daniel P. Berrangé <berrange@redhat.com>
-
Daniel P. Berrangé authored
It has only existed as a virtual Provides line since Fedora 25 Signed-off-by:
Daniel P. Berrangé <berrange@redhat.com>
-
- 15 Nov, 2021 1 commit
-
-
Daniel P. Berrangé authored
This macro is a wrappar around g_debug and as such doesn't need to add its own newline, unless trying to break a single message across lines. Signed-off-by:
Daniel P. Berrangé <berrange@redhat.com>
-
- 12 Nov, 2021 2 commits
-
-
Daniel P. Berrangé authored
Signed-off-by:
Daniel P. Berrangé <berrange@redhat.com>
-
Daniel P. Berrangé authored
gcrypt refuses to encrypt DES data using an all-zeros key. While this might seem reasonable, this is the key that you get when someone sets a zero length password in a VNC server. IOW, the gcrypt behaviour prevents gtk-vnc connecting to a server with zero length password. GNUTLS doesn't have this problem but also doesn't support DES-ECB, so we have to fake it by calling DES-CBC for each block individually. Conceptually this is horribly inefficient, but since the VNC challenge is only 16 bytes long it isn't a problem in the real world. Signed-off-by:
Daniel P. Berrangé <berrange@redhat.com>
-