aboutsummaryrefslogtreecommitdiffhomepage
path: root/env_universal_common.cpp
Commit message (Collapse)AuthorAge
* Open universal variable lock file read/write and ignore errorsGravatar David Adam2015-07-03
| | | | Closes #2149.
* Suppress uvar error messages due to permissions or file not foundGravatar ridiculousfish2015-06-01
| | | | | | | | | su does not reset XDG_RUNTIME_DIR, which means that XDG_RUNTIME_DIR may point to directories that the user does not have permission to access. Similarly there is no guarantee that XDG_RUNTIME_DIR points to a directory that actually exists. Rather than try to handle these issues, we simply ignore them, effectively disabling realtime uvar notifications. Fixes #1955.
* Mark libnotify FDs as CLO_EXECGravatar ridiculous_fish2015-01-04
| | | | Fixes a fd leak on OS X
* Solaris build fixes: fallback to _XOPEN_NAME_MAX if definedGravatar David Adam2014-12-21
|
* Use -1 instead of 0 for the notifyd token "missing value" sentinelGravatar ridiculousfish2014-11-19
| | | | This matches NOTIFY_TOKEN_INVALID
* Replace some std::string with wcstring to reduce copyingGravatar ridiculousfish2014-11-10
|
* Use a directory in /tmp instead of ~/.config/fish for named pipe pathGravatar ridiculousfish2014-11-09
| | | | | The home directory may not be able to support named pipes, e.g. if it's NFS. This puts the file in a secured directory in /tmp
* Make a string into a reference, to save a copyGravatar ridiculousfish2014-11-09
|
* Put the universal variables notifier named pipe in XDG_RUNTIME_DIRGravatar ridiculousfish2014-11-09
| | | | This is where named pipes belong.
* Make universal variables cache the path to the variable fileGravatar ridiculousfish2014-11-09
|
* Fix tests on FreeBSDGravatar ridiculousfish2014-11-01
| | | | | FreeBSD throws errors if you pass flags like O_WRONLY to mkostemp. Pass only O_CLOEXEC.
* Remove a bunch of dead code identified by cppcheckGravatar ridiculousfish2014-10-31
|
* Set of fixes for issues identified by cppcheckGravatar ridiculousfish2014-10-30
|
* Find fishd file even when $HOME is unsetGravatar Kevin Ballard2014-10-01
| | | | | | | | | | env.cpp sets up $HOME based on the current user, if it's not inherited from the environment. fishd_get_config should be using the same calculated value of $HOME. To that end, move universal variable initialization to after $HOME is set up, and read the value from the fish environment instead of using getenv(). Fixes #1725.
* Hopeful fix for Cygwin build (#1530)Gravatar ridiculousfish2014-07-05
|
* Universal variable callbacks should only be announced for changedGravatar ridiculousfish2014-06-16
| | | | values, not every value. Also support erase notifications.
* Migrate global functions out of env_universal. Have env operate directlyGravatar ridiculousfish2014-06-15
| | | | on an env_universal_t.
* Fix Linux build of env_universal_commonGravatar ridiculousfish2014-06-13
|
* Teach env_universal_remove to directly report whether the variable wasGravatar ridiculousfish2014-06-13
| | | | successfully removed.
* Removed connection_t and associated functionsGravatar ridiculousfish2014-06-09
|
* Remove connection_t usage from write_to_fdGravatar ridiculousfish2014-06-09
|
* Removal of more fishd artifacts and headersGravatar ridiculousfish2014-06-09
|
* Enable fishd-less mode by default.Gravatar ridiculousfish2014-05-29
| | | | | Shell instances now synchronize universal variables using the filesystem. fishd should no longer be launched by default.
* Remove inotify-based universal notifierGravatar ridiculousfish2014-05-29
| | | | | | The inotify notifier is fragile, fails on travis, and fails to compile on certain Linux kernels. It doesn't appear to work as well as the named pipe mechanism. Best to just get rid of it.
* Use mkostemp in universal variables when availableGravatar ridiculousfish2014-05-15
|
* Formatting fixesGravatar ridiculousfish2014-05-15
|
* Improve universal variable error messagesGravatar ridiculousfish2014-05-15
|
* Make initialize_synchronizes_via_fishd default to false. Add someGravatar ridiculousfish2014-05-15
| | | | logging support to universal variables.
* Null notifier to support fishd synchronization, so we can select theGravatar ridiculousfish2014-05-14
| | | | synchronization mechanism at runtime
* Remove needs_polling from universal_notifier_t. Add some expositoryGravatar ridiculousfish2014-05-07
| | | | comments.
* Further cleanup and rationalization of named pipe universal notifier.Gravatar ridiculousfish2014-05-06
|
* Fix named pipe universal notifier. No more threads. Tests now pass.Gravatar ridiculousfish2014-05-05
|
* Initial work on strategy_named_pipe universal notifier.Gravatar ridiculousfish2014-05-04
|
* Make inotify-based universal variable notifier tests passGravatar ridiculousfish2014-05-03
|
* Re-establish inotify watch when file is deletedGravatar ridiculousfish2014-05-03
|
* Early implementation of inotify-based universal variable notifier forGravatar ridiculousfish2014-05-01
| | | | Linux
* Implement notifyd-based notification strategy for universal variablesGravatar ridiculousfish2014-04-30
| | | | (OS X specific)
* Implement universal variable deletion. Adopt shared memory uvar notification.Gravatar ridiculousfish2014-04-29
|
* Implement shared memory strategy for universal variable notificationsGravatar ridiculousfish2014-04-29
|
* Move universal variable callbacks out from under the lock, to avoid aGravatar ridiculousfish2014-04-29
| | | | possible deadlock on reentrancy
* Enhance file_id_t to have richer information, to guard against inodeGravatar ridiculousfish2014-04-28
| | | | recycling on Linux filesystems
* Include a header to permit building on LinuxGravatar ridiculousfish2014-04-27
|
* Merge branch 'master' into death_of_fishdGravatar ridiculousfish2014-04-27
|\
| * Attempt to silence some warningsGravatar ridiculousfish2014-04-27
| |
* | Correctly invoke callbacks with fishd-less universal variables. AllGravatar ridiculousfish2014-04-27
| | | | | | | | tests now pass.
* | Implement atomic loading/saving of fishd file within fish, eventuallyGravatar ridiculousfish2014-04-27
| | | | | | | | | | permitting removal of fishd. Universal variables test passes, others fail.
* | Beginning steps towards teaching the universal variable system to readGravatar ridiculousfish2014-04-26
| | | | | | | | the fishd file directly, instead of fetching it through fishd
* | Migrate machine and hostname identification from fishd.cpp toGravatar ridiculousfish2014-04-25
|/ | | | env_universal_common.cpp, so that fish can use it
* Migrate universal variables to env_var_t structure. EncapsulateGravatar ridiculousfish2014-04-25
| | | | universal variable storage into a class for better testability.
* Naive reimplementation of utf2wcs and wcs2utf inGravatar ridiculousfish2014-03-23
| | | | | env_universal_common.cpp. These use the new utf8 functions exposed in utf8.h. This will allow us to drop the iconv dependency.