@@ -72,6 +72,7 @@ VM* idris_vm() {
7272 init_threaddata(vm);
7373 init_gmpalloc();
7474 init_nullaries();
75+ init_signals();
7576
7677 return vm;
7778}
@@ -92,6 +93,12 @@ void init_threaddata(VM *vm) {
9293#endif
9394}
9495
96+void init_signals() {
97+#if (__linux__ || __APPLE__ || __FreeBSD__)
98+ signal(SIGPIPE, SIG_IGN);
99+#endif
100+}
101+
95102Stats terminate(VM* vm) {
96103 Stats stats = vm->stats;
97104 STATS_ENTER_EXIT(stats)