return True;
}
+void udp_destroy_socket(struct udpcommon *uc, struct udpsock *us)
+{
+ if (us->fd>=0) {
+ close(us->fd);
+ us->fd=-1;
+ }
+}
+
bool_t udp_make_socket(struct udpcommon *uc, struct udpsock *us,
int failmsgclass)
{
const union iaddr *addr=&us->addr;
struct commcommon *cc=&uc->cc;
+ us->fd=-1;
#define FAIL_LG 0, cc->cl.description, &cc->loc, failmsgclass
#define FAIL(...) do{ \
return True;
failed:
- if (us->fd>=0) {
- close(us->fd);
- us->fd=-1;
- }
+ udp_destroy_socket(uc,us);
return False;
#undef FAIL