summaryrefslogtreecommitdiffstats
path: root/gcc/ada/g-socthi-vms.adb
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2007-04-06 09:15:09 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2007-04-06 09:15:09 +0000
commit232e4d04f0263022b1379a7886e28e7f082f7eb8 (patch)
treed2a9f2de1b4f8ce5a655a929362077213fa220da /gcc/ada/g-socthi-vms.adb
parent32c07c22100b9a6f342e6a5825ac36b1b72d036b (diff)
downloadppe42-gcc-232e4d04f0263022b1379a7886e28e7f082f7eb8.tar.gz
ppe42-gcc-232e4d04f0263022b1379a7886e28e7f082f7eb8.zip
2007-04-06 Thomas Quinot <quinot@adacore.com>
Pat Rogers <rogers@adacore.com> Pascal Obry <obry@adacore.com> * g-stsifd-sockets.adb: New file. * g-socthi.ads, g-socket.adb, g-socthi-vxworks.adb, g-socthi-vxworks.ads, g-socthi-mingw.ads, g-socthi-vms.ads, g-socthi-vms.adb: Move signalling fd management to a nested package, so that they can conveniently be moved to a subunit that is shared across Windows, VMS, and VxWorks (Ada implementation) or completed with imported bodies from socket.c (UNIX case). (Read_Signalling_Fd, Write_Signalling_Fd, Create_Signalling_Fds): New subprograms. (Check_Selector): Use Read_Signalling_Fd to read and discard data from the signalling file descriptor. (Abort_Selector): Use Write_Signalling_Fd to write dummy data to the signalling file descriptor. (Create_Selector): Use new C-imported subprogram Create_Signalling_Fds instead of creating a pair of sockets for signalling here. * g-socthi.adb: Ditto. Set the runtime process to ignore SIGPIPEs on platforms that support neither SO_NOSIGPIPE nor MSG_NOSIGNAL functionality. * g-socthi-mingw.adb: Ditto. (WS_Version): Use Windows 2.2. Use Winsock 2.2 (instead of 1.1) for the GNAT.Socket API. * g-soliop-mingw.ads: Link with ws2_32 for Windows 2.x support. Use Winsock 2.2 (instead of 1.1) for the GNAT.Socket API. * Makefile.in: New libgnat pair g-stsifd.adb<g-stsifd-sockets.adb. added GNAT byte swapping facility Update FreeBSD THREADSLIB from -lc_r to -lpthread, for FreeBSD 6. * g-bytswa.adb, g-bytswa-x86.adb, g-bytswa.ads: New files. * socket.c (__gnat_read_signalling_fd, __gnat_write_controlling_fd): New subprograms. (__gnat_create_signalling_fds): New subprogram. Set the runtime process to ignore SIGPIPEs on platforms that support neither SO_NOSIGPIPE nor MSG_NOSIGNAL functionality. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123542 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/g-socthi-vms.adb')
-rw-r--r--gcc/ada/g-socthi-vms.adb16
1 files changed, 11 insertions, 5 deletions
diff --git a/gcc/ada/g-socthi-vms.adb b/gcc/ada/g-socthi-vms.adb
index d1545e050fe..0ede7e7973d 100644
--- a/gcc/ada/g-socthi-vms.adb
+++ b/gcc/ada/g-socthi-vms.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 2001-2005, AdaCore --
+-- Copyright (C) 2001-2006, AdaCore --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
@@ -64,7 +64,7 @@ package body GNAT.Sockets.Thin is
function Syscall_Accept
(S : C.int;
Addr : System.Address;
- Addrlen : access C.int) return C.int;
+ Addrlen : not null access C.int) return C.int;
pragma Import (C, Syscall_Accept, "accept");
function Syscall_Connect
@@ -92,7 +92,7 @@ package body GNAT.Sockets.Thin is
Len : C.int;
Flags : C.int;
From : Sockaddr_In_Access;
- Fromlen : access C.int) return C.int;
+ Fromlen : not null access C.int) return C.int;
pragma Import (C, Syscall_Recvfrom, "recvfrom");
function Syscall_Send
@@ -125,7 +125,7 @@ package body GNAT.Sockets.Thin is
function C_Accept
(S : C.int;
Addr : System.Address;
- Addrlen : access C.int) return C.int
+ Addrlen : not null access C.int) return C.int
is
R : C.int;
Val : aliased C.int := 1;
@@ -275,7 +275,7 @@ package body GNAT.Sockets.Thin is
Len : C.int;
Flags : C.int;
From : Sockaddr_In_Access;
- Fromlen : access C.int) return C.int
+ Fromlen : not null access C.int) return C.int
is
Res : C.int;
@@ -461,6 +461,12 @@ package body GNAT.Sockets.Thin is
Sin.Sin_Port := Port;
end Set_Port;
+ --------------------
+ -- Signalling_Fds --
+ --------------------
+
+ package body Signalling_Fds is separate;
+
--------------------------
-- Socket_Error_Message --
--------------------------
OpenPOWER on IntegriCloud