#endif
#ifdef DCPOMATIC_OSX
+#include "lib/stdout_log.h"
#undef nil
extern "C" {
#include <lwext4/file_dev.h>
/* Do some basic sanity checks; this is a bit belt-and-braces but it can't hurt... */
#ifdef DCPOMATIC_OSX
- if (!starts_with(*device, "/dev/disk")) {
+ if (!starts_with(*device, "/dev/rdisk")) {
LOG_DISK ("Will not write to %1", *device);
nanomsg->send(DISK_WRITER_ERROR "\nRefusing to write to this drive\n1\n", LONG_TIMEOUT);
return true;
bool on_drive_list = false;
bool mounted = false;
for (auto const& i: Drive::get()) {
- if (i.device() == *device) {
+ if (i.device_for_write() == *device) {
on_drive_list = true;
mounted = i.mounted();
}
int
main ()
{
+#ifdef DCPOMATIC_OSX
+ /* On macOS this is running as root, so config_path() will be somewhere in root's
+ * home. Instead, just write to stdout as the macOS process control stuff will
+ * redirect this to a file in /var/log
+ */
+ dcpomatic_log.reset(new StdoutLog(LogEntry::TYPE_DISK));
+ LOG_DISK_NC("dcpomatic_disk_writer started");
+#else
/* XXX: this is a hack, but I expect we'll need logs and I'm not sure if there's
* a better place to put them.
*/
dcpomatic_log.reset(new FileLog(config_path() / "disk_writer.log", LogEntry::TYPE_DISK));
LOG_DISK_NC("dcpomatic_disk_writer started");
+#endif
try {
nanomsg = new Nanomsg (false);