aboutsummaryrefslogtreecommitdiffstats
path: root/src/Makefile.am
Commit message (Collapse)AuthorAgeFilesLines
* build: Move src/Makefile.am into toplevel Makefile.amKristian Høgsberg2014-03-071-72/+0
|
* Add -pthread to AM_CFLAGS to do the right thing when using threadsKristian Høgsberg2013-11-231-1/+1
| | | | https://bugs.freedesktop.org/show_bug.cgi?id=71633
* client: Introduce functions to allocate and marshal proxies atomicallyKristian Høgsberg2013-11-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The server requires clients to only allocate one ID ahead of the previously highest ID in order to keep the ID range tight. Failure to do so will make the server close the client connection. However, the way we allocate new IDs is racy. The generated code looks like: new_proxy = wl_proxy_create(...); wl_proxy_marshal(proxy, ... new_proxy, ...); If two threads do this at the same time, there's a chance that thread A will allocate a proxy, then get pre-empted by thread B which then allocates a proxy and then passes it to wl_proxy_marshal(). The ID for thread As proxy will be one higher that the currently highest ID, but the ID for thread Bs proxy will be two higher. But since thread B prempted thread A before it could send its new ID, B will send its new ID first, the server will see the ID from thread Bs proxy first, and will reject it. We fix this by introducing wl_proxy_marshal_constructor(). This function is identical to wl_proxy_marshal(), except that it will allocate a wl_proxy for NEW_ID arguments and send it, all under the display mutex. By introducing a new function, we maintain backwards compatibility with older code from the generator, and make sure that the new generated code has an explicit dependency on a new enough libwayland-client.so. A virtual Wayland merit badge goes to Kalle Vahlman, who tracked this down and analyzed the issue. Reported-by: Kalle Vahlman <kalle.vahlman@movial.com>
* build: Add wayland-scanner.pc.Daiki Ueno2013-07-031-0/+3
| | | | | To allow user program to include wayland-scanner.m4 in tarball, move the path variables from it into wayland-scanner.pc.
* Remove input structsKristian Høgsberg2013-05-071-1/+1
| | | | | | | | | | | | | | | | Looking at the functionality in the server library, it's clear (in hindsight) that there are two different "things" in there: 1) The IPC API, that is, everything that concerns wl_display, wl_client, wl_resource and 2) and half-hearted attempt at sharing input code and focus logic that leaves a lot of problematic structs in the API surface, only to share less than 1000 lines of code. We can just move those input structs and helper functions into weston and cut libwayland-server down to just the core server side IPC API. In the short term, compositors can copy those structs and functions into their source, but longer term, they're probably better off reimplementing those objects and logic their native framework (QObject, GObject etc).
* Match libtool version info in 1.0 branchKristian Høgsberg2013-01-281-0/+1
| | | | | Master should always as old or older than the stable branch. I didn't copy over the libtool version bump when we bumped it in the 1.0 branch.
* Add support for signed 24.8 decimal numbersDaniel Stone2012-05-081-2/+2
| | | | | | | | | 'fixed' is a signed decimal type which offers a sign bit, 23 bits of integer precision, and 8 bits of decimal precision. This is exposed as an opaque struct with conversion helpers to and from double and int on the C API side. Signed-off-by: Daniel Stone <daniel@fooishbar.org>
* os: wrap socket(SOCK_CLOEXEC) callsPekka Paalanen2012-04-201-0/+2
| | | | | | | | | | | | | | | | | Some system C libraries do not offer SOCK_CLOEXEC flag. Add a new header for OS compatibility wrappers. Wrap socket() calls into wl_os_socket_cloexec() which makes sure the O_CLOEXEC flag gets set on the file descriptor. On systems having SOCK_CLOEXEC this uses the old socket() call, and falls back if it fails due to the flag (kernel not supporting it). wayland-os.h is private and not exported. Add close-on-exec tests for both normal and forced fallback paths. Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
* Add a public header for the version numberNeil Roberts2012-04-121-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | This adds a public header so that applications can get the Wayland version number at compile time. This can be used to make applications that support compiling against multiple versions of Wayland. There is a separate installed header called cogl-version.h which gets included by both wayland-client.h and wayland-server.h The canonical place for the version number is the configure.ac script which splits it into three separate m4 defines for the major, minor and micro version. These are copied into the generated wayland-version.h header using AC_SUBST. There is also a string form of the complete version number. The version number is now also automatically copied into the two .pc files. Because the major, minor and micro parts are required it is no longer possible to leave the version number as 'master' when building from git. Most projects seem to immediately bump the git repo to a fake version number (usually odd) after making a release so that there is always a relative number that can be used for comparison. This patch sets the git version to 0.99.0 under the assumption that the next release will be 1.0.0.
* Fix 'make dist' as connection.h no longer existsRichard Hughes2012-01-131-1/+0
|
* Move data device implementation into wayland-serverKristian Høgsberg2012-01-061-0/+1
|
* Drop unused hash tableKristian Høgsberg2011-12-271-2/+1
| | | | | We now just use a table for looking up object IDs so we should drop the hash table.
* Move private definitions and prototypes to new wayland-private.hKristian Høgsberg2011-11-181-0/+1
|
* Rename source subdir from wayland to srcKristian Høgsberg2011-08-121-0/+63