X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Freadahead%2Fsd-readahead.c;h=d48cd768079e74166f716283368ae7795765af72;hp=c5cfe6710732c900a459510fd937aefca26ec44e;hb=08231e5142bff7ace79957835656672ac100031b;hpb=e5e83e8362e946890ac991fc86a2c5869f9befdf diff --git a/src/readahead/sd-readahead.c b/src/readahead/sd-readahead.c index c5cfe6710..d48cd7680 100644 --- a/src/readahead/sd-readahead.c +++ b/src/readahead/sd-readahead.c @@ -37,6 +37,18 @@ #include "sd-readahead.h" +#if (__GNUC__ >= 4) +#ifdef SD_EXPORT_SYMBOLS +/* Export symbols */ +#define _sd_export_ __attribute__ ((visibility("default"))) +#else +/* Don't export the symbols */ +#define _sd_export_ __attribute__ ((visibility("hidden"))) +#endif +#else +#define _sd_export_ +#endif + static int touch(const char *path) { #if !defined(DISABLE_SYSTEMD) && defined(__linux__) @@ -45,7 +57,8 @@ static int touch(const char *path) { mkdir("/run/systemd", 0755); mkdir("/run/systemd/readahead", 0755); - if ((fd = open(path, O_WRONLY|O_CREAT|O_CLOEXEC|O_NOCTTY, 0666)) < 0) + fd = open(path, O_WRONLY|O_CREAT|O_CLOEXEC|O_NOCTTY, 0666); + if (fd < 0) return -errno; for (;;) { @@ -60,7 +73,7 @@ static int touch(const char *path) { return 0; } -int sd_readahead(const char *action) { +_sd_export_ int sd_readahead(const char *action) { if (!action) return -EINVAL;