Trivial documentation fixups.
git-svn-id: http://svn.drobilla.net/lad@175 a436a847-0d15-0410-975c-d299462d15a1
This commit is contained in:
parent
285bc4c055
commit
f791674e64
|
@ -26,6 +26,8 @@ using std::string;
|
|||
|
||||
|
||||
/** An OSC atom (fundamental data types OSC messages are composed of).
|
||||
*
|
||||
* \ingroup raul
|
||||
*/
|
||||
class Atom {
|
||||
public:
|
||||
|
|
|
@ -24,6 +24,8 @@
|
|||
/** Support for serializing an Atom to/from liblo messages.
|
||||
*
|
||||
* (Here to prevent a unnecessary liblo dependency for Atom).
|
||||
*
|
||||
* \ingroup raul
|
||||
*/
|
||||
class AtomLiblo {
|
||||
public:
|
||||
|
|
|
@ -27,6 +27,8 @@
|
|||
/** Support for serializing an Atom to/from RDF (via redland aka librdf).
|
||||
*
|
||||
* (Here to prevent a unnecessary redland dependency for Atom).
|
||||
*
|
||||
* \ingroup raul
|
||||
*/
|
||||
class AtomRaptor {
|
||||
public:
|
||||
|
|
|
@ -23,6 +23,8 @@
|
|||
/** Trivial (but pretty) wrapper around POSIX Conditions (zero overhead).
|
||||
*
|
||||
* A semaphore that isn't a counter, is slow, and not realtime safe. Yay.
|
||||
*
|
||||
* \ingroup raul
|
||||
*/
|
||||
class Condition {
|
||||
public:
|
||||
|
|
|
@ -8,6 +8,7 @@ raulinclude_HEADERS = \
|
|||
Semaphore.h \
|
||||
Mutex.h \
|
||||
Condition.h \
|
||||
Process.h \
|
||||
Thread.h \
|
||||
Slave.h \
|
||||
Atom.h
|
||||
|
|
|
@ -21,6 +21,8 @@
|
|||
|
||||
|
||||
/** Trivial (but pretty) wrapper around POSIX Mutexes (zero overhead).
|
||||
*
|
||||
* \ingroup raul
|
||||
*/
|
||||
class Mutex {
|
||||
public:
|
||||
|
|
|
@ -34,6 +34,8 @@ using std::string;
|
|||
*
|
||||
* Valid characters are the 95 printable ASCII characters (32-126), excluding:
|
||||
* space # * , ? [ ] { }
|
||||
*
|
||||
* \ingroup raul
|
||||
*/
|
||||
class Path : public std::basic_string<char> {
|
||||
public:
|
||||
|
|
|
@ -0,0 +1,85 @@
|
|||
/* This file is part of Raul. Copyright (C) 2006 Dave Robillard.
|
||||
*
|
||||
* Raul is free software; you can redistribute it and/or modify it under the
|
||||
* terms of the GNU General Public License as published by the Free Software
|
||||
* Foundation; either version 2 of the License, or (at your option) any later
|
||||
* version.
|
||||
*
|
||||
* Raul is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
#ifndef RAUL_PROCESS_H
|
||||
#define RAUL_PROCESS_H
|
||||
|
||||
#include <string>
|
||||
#include <iostream>
|
||||
#include <unistd.h>
|
||||
|
||||
/** A child process.
|
||||
*
|
||||
* \ingroup raul
|
||||
*/
|
||||
class Process
|
||||
{
|
||||
public:
|
||||
|
||||
/** Launch a sub process.
|
||||
*
|
||||
* @param command can be a typical shell command with parameters, the PATH is searched etc.
|
||||
*/
|
||||
bool launch(std::string command)
|
||||
{
|
||||
const string executable = (command.find(" ") != string::npos)
|
||||
? command.substr(0, command.find(" "))
|
||||
: command;
|
||||
|
||||
std::cerr << "Launching child process '" << executable << "' with command line '"
|
||||
<< command << "'" << endl;
|
||||
|
||||
// Use the same double fork() trick as JACK to prevent zombie children
|
||||
const int err = fork();
|
||||
|
||||
if (err == 0) {
|
||||
// (child)
|
||||
|
||||
// close all nonstandard file descriptors
|
||||
const int max_fds = getdtablesize();
|
||||
int fd;
|
||||
for (fd = 3; fd < max_fds; ++fd)
|
||||
close(fd);
|
||||
|
||||
switch (fork()) {
|
||||
|
||||
case 0:
|
||||
// (grandchild)
|
||||
setsid();
|
||||
execlp(executable.c_str(), command.c_str(), NULL);
|
||||
_exit(-1);
|
||||
|
||||
case -1:
|
||||
// (second) fork failed, there is no grandchild
|
||||
_exit (-1);
|
||||
|
||||
/* exit the child process here */
|
||||
default:
|
||||
_exit (0);
|
||||
}
|
||||
|
||||
return (err > 0);
|
||||
}
|
||||
|
||||
private:
|
||||
// .... no :) (undefined)
|
||||
Process();
|
||||
Process(const Process&);
|
||||
Process& operator=(const Process&);
|
||||
};
|
||||
|
||||
|
||||
#endif // RAUL_PROCESS_H
|
|
@ -28,6 +28,8 @@
|
|||
* the push and pop operations themselves are not thread-safe.
|
||||
*
|
||||
* FIXME: Verify atomicity of everything here.
|
||||
*
|
||||
* \ingroup raul
|
||||
*/
|
||||
template <typename T>
|
||||
class Queue
|
||||
|
|
|
@ -28,6 +28,8 @@
|
|||
* really needs to update it's man pages.
|
||||
*
|
||||
* This class remains as a trivial (yet pretty) wrapper/abstraction.
|
||||
*
|
||||
* \ingroup raul
|
||||
*/
|
||||
class Semaphore {
|
||||
public:
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
/* This file is part of Ingen. Copyright (C) 2006 Dave Robillard.
|
||||
/* This file is part of Raul. Copyright (C) 2006 Dave Robillard.
|
||||
*
|
||||
* Ingen is free software; you can redistribute it and/or modify it under the
|
||||
* Raul is free software; you can redistribute it and/or modify it under the
|
||||
* terms of the GNU General Public License as published by the Free Software
|
||||
* Foundation; either version 2 of the License, or (at your option) any later
|
||||
* version.
|
||||
*
|
||||
* Ingen is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
* Raul is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for details.
|
||||
*
|
||||
|
@ -27,7 +27,7 @@
|
|||
* Use this to perform some task in a separate thread you want to 'drive'
|
||||
* from a realtime (or otherwise) thread.
|
||||
*
|
||||
* \ingroup engine
|
||||
* \ingroup raul
|
||||
*/
|
||||
class Slave : public Thread
|
||||
{
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
* Extend this and override the _run method to easily create a thread
|
||||
* to perform some task.
|
||||
*
|
||||
* \ingroup engine
|
||||
* \ingroup raul
|
||||
*/
|
||||
class Thread
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue