cf0904f752
Handle vfork/exec failure
...
Don't call atexit, exit without cleanup.
2020-10-31 22:33:10 +01:00
a9bd7b2848
Remove unused compile-time option to not use vfork
2020-10-31 22:30:45 +01:00
7896c30508
Fix cmdline parameter escape
2020-10-31 13:42:14 +01:00
c365c6cdb2
Set thread-names (libs)
2020-03-29 14:56:22 +02:00
b157e1a09a
Remove invalid error message
...
This clause is in NO_VFORK, vfork_exec_wrapper is irrelevant there
2019-11-09 06:30:46 +01:00
a8a699133e
Fix child-process communication (video monitor in particular)
...
103ef2ba08
introduced an API to write raw data (const void*)
to a child process, along with the previous API to
write (std::string const&)
VideoMonitor uses write_to_stdin("fixed text"), and g++
interprets this to use the (const void*) API instead
of the std::string, which breaks communication.
2019-11-09 06:28:55 +01:00
0301c47f6b
Update core library GPL boilerplate and (C) from git log
2019-08-03 15:53:17 +02:00
e76e18af96
Use exit-status macros for compatibility 2/3
2019-07-04 22:21:35 +02:00
86138d18f9
Remove extra quotes from meta-data
...
Arguments are passed as argp[] array to execve() and don't need to be
enclosed by quotes.
2019-03-26 22:12:48 +01:00
15cd1163fc
Pass stderr mode properly to vfork wrapper
2019-03-07 23:51:04 +01:00
8b5437301b
Close stderr of child processes on MacOS
...
This fixes a bug on some modern mac systems. Related to
setup_logging() changing stderr to use ASL and write to com.apple.console.
When a forked application writes to stderr while ASL is used,
the child is terminated for some reason.
2019-03-05 22:52:53 +01:00
e1ffe7857f
Use enum for exec stderr parameter (1/2)
2019-03-05 22:49:15 +01:00
7048d86d6c
Remove unused define
2019-02-26 03:49:02 +01:00
28f211c5d2
NO-OP: whitespace
2019-01-23 12:59:17 +01:00
87602e7fb3
system-exec read: allow 1 byte for null termination -- #7715
2019-01-23 12:44:10 +01:00
1759d1c9c9
Fix a tiny memory-leak when calling vfork
2018-11-29 02:06:42 +01:00
d169864b5b
Prepare session-metadata export to external command
2018-11-20 23:56:12 +01:00
d18b247a05
Fix Windows and Mac Builds
...
* missing include for locale_to_utf8 (amend 4c6ff5f7e7
)
* avoid void* arithemtic (amend 103ef2ba
)
2018-11-19 12:54:07 +01:00
103ef2ba08
Add API to write raw data to child processes.
2018-11-19 02:26:43 +01:00
820bd0fe51
and another typo in d442190b
2016-02-14 00:10:41 +01:00
09167d3e59
fix typos in d442190b
2016-02-14 00:02:00 +01:00
d442190b8a
slightly improved windows post-export hook support.
2016-02-13 23:12:50 +01:00
73245c6217
some half-baked support for windows command-arg substitutions
2016-02-13 17:04:11 +01:00
108528b63d
amend d814acb
- SystemExec/Export debugging
2016-02-13 01:39:41 +01:00
d814acbb8f
add some debugging capability for users of SystemExec. Needs review.
2016-02-12 18:22:12 -06:00
eb6b4f4b15
fix crash on SystemExec::Terminate
...
if Terminated() connects in the same thread and deletes the class itself
the closure in interposer_thread() can fail.
2015-10-23 23:29:04 +02:00
22b07e0233
NOOP, remove trailing tabs/whitespace.
2015-10-05 16:17:49 +02:00
4dc63966f0
globally remove all trailing whitespace from ardour code base.
...
Paul Davis was responsible for introducing almost all of this.
2015-10-04 14:51:05 -04:00
e057b873b5
amend e09c620; now with semicolon :)
2015-08-03 23:09:51 +02:00
e09c62052d
fix backslashes in quotes (windows), fixes VST scan
2015-08-03 23:06:08 +02:00
2b294f0b43
add a sanity check
2015-04-30 21:15:35 +02:00
ec01682714
-Wunused-function on windows
2014-11-23 21:01:39 +01:00
12025d4ffa
possible fix for win SystemExec::wait()
...
if it does not help, use CREATE_NO_WINDOW and/or peek/pump messages :(
2014-07-11 17:03:55 +02:00
94e0841625
catch null vfork_exec_wrapper before it is too late
2014-07-11 09:58:45 -04:00
4b0933938f
optimize SystemExec::output_interposer()
2014-07-06 23:44:48 +02:00
c03034b7d6
Make $PATH search in SystemExec actually work
...
Make searching of $PATH work when a SystemExec is created from a
command-line, by making sure that argv[0] is set to the discovered path.
2014-07-05 21:47:49 +01:00
cd12698b9c
Rename PBD::find_file_in_search_path to just PBD::find_file
...
saves a bit of typing and not necessary if you look at how it is used.
2014-06-25 12:40:10 -04:00
f0dbd6c085
Export dialog: tidy code, & remove some superfluous debug output
...
Remove some debug output, tidy up a few whitespace inconsistencies, use
DEBUG::Soundcloud in one more place, and zap a couple of unused variables.
2014-06-12 23:20:05 +01:00
724a69a8d5
Search $PATH for command when creating SystemExec from command line
...
When creating a SystemExec from a command-line, search $PATH for the
command to execute, so that post-export hooks don't need to specify a full
path.
2014-06-12 23:20:05 +01:00
3813c7afae
increase system-exec timeouts for kill.
2014-06-05 02:22:13 +02:00
bc8ccea212
remove debug output from system_exec
...
remove the debug output from pbd/system_exec: it's of no further use, and
also breaks optimised builds.
2014-05-19 22:49:22 +01:00
5399425f53
Merge branch 'export-dialog' into cairocanvas
...
Fix merge conflicts in:
gtk2_ardour/export_range_markers_dialog.cc
gtk2_ardour/wscript
libs/ardour/ardour/export_handler.h
libs/ardour/system_exec.cc
libs/pbd/pbd/system_exec.h
libs/pbd/system_exec.cc
2014-05-19 20:54:36 +01:00
7c4259133d
SystemExec: copy last argument from command line to argv[]
...
Make sure to copy any part of the command line after the last delimiter
to argv[] when creating a SystemExec with an escaped command line.
2014-05-18 20:49:58 +01:00
f31c84a742
close stdin as first attempt to terminate process cleanly.
2014-04-20 23:02:32 +02:00
3552c17b91
fix SystemExec for windows
2014-04-20 02:51:27 +02:00
543099afba
rework SystemExec - use vfork wrapper (and lots of related stuff)
2014-03-13 16:58:07 +01:00
f6129ed0f4
prototype vfork exec-wrapper.
2014-03-11 15:48:41 +01:00
cfa94aeccc
fix system-exec (wait for app to start)
2014-02-25 14:57:57 +01:00
1d39cf7543
move SystemExec to libpbd
2014-02-19 03:38:43 +01:00
e1562961c0
Add command-line parsing constructor to SystemExec
...
Add a new constructor to SystemExec which takes a complete command-line
and a map of substitutions for %<char>, and parses the command line,
taking account of some simple escape sequences and quoting.
2013-10-10 19:50:21 +01:00