Skip to content

Commit 509ce2a

Browse files
committed
patch 7.4.1537
Problem: Too many feature flags for pipes, jobs and channels. Solution: Only use FEAT_JOB_CHANNEL.
1 parent de27989 commit 509ce2a

22 files changed

Lines changed: 72 additions & 200 deletions

src/Make_bc5.mak

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -464,7 +464,7 @@ NBDEBUG_DEP = nbdebug.h nbdebug.c
464464
!endif
465465

466466
!if ("$(CHANNEL)"=="yes")
467-
DEFINES = $(DEFINES) -DFEAT_CHANNEL
467+
DEFINES = $(DEFINES) -DFEAT_JOB_CHANNEL
468468
!endif
469469

470470
!ifdef XPM

src/Make_cyg_ming.mak

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -529,7 +529,7 @@ endif
529529
endif
530530

531531
ifeq ($(CHANNEL),yes)
532-
DEFINES += -DFEAT_CHANNEL
532+
DEFINES += -DFEAT_JOB_CHANNEL
533533
endif
534534

535535
# DirectWrite (DirectX)

src/Make_mvc.mak

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -332,7 +332,7 @@ XPM_INC = -I $(XPM)\include -I $(XPM)\..\include
332332
!if "$(CHANNEL)" == "yes"
333333
CHANNEL_PRO = proto/channel.pro
334334
CHANNEL_OBJ = $(OBJDIR)/channel.obj
335-
CHANNEL_DEFS = -DFEAT_CHANNEL
335+
CHANNEL_DEFS = -DFEAT_JOB_CHANNEL
336336

337337
NETBEANS_LIB = WSock32.lib
338338
!endif

src/auto/configure

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7427,7 +7427,7 @@ if test "$enable_netbeans" = "yes"; then
74277427

74287428
fi
74297429
if test "$enable_channel" = "yes"; then
7430-
$as_echo "#define FEAT_CHANNEL 1" >>confdefs.h
7430+
$as_echo "#define FEAT_JOB_CHANNEL 1" >>confdefs.h
74317431

74327432
CHANNEL_SRC="channel.c"
74337433

src/channel.c

Lines changed: 6 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
#include "vim.h"
1414

15-
#if defined(FEAT_CHANNEL) || defined(PROTO)
15+
#if defined(FEAT_JOB_CHANNEL) || defined(PROTO)
1616

1717
/* TRUE when netbeans is running with a GUI. */
1818
#ifdef FEAT_GUI
@@ -294,11 +294,7 @@ add_channel(void)
294294
channel->ch_id = next_ch_id++;
295295
ch_log(channel, "Created channel");
296296

297-
#ifdef CHANNEL_PIPES
298297
for (part = PART_SOCK; part <= PART_IN; ++part)
299-
#else
300-
part = PART_SOCK;
301-
#endif
302298
{
303299
channel->ch_part[part].ch_fd = INVALID_FD;
304300
#ifdef FEAT_GUI_X11
@@ -330,10 +326,8 @@ add_channel(void)
330326
channel_still_useful(channel_T *channel)
331327
{
332328
int has_sock_msg;
333-
#ifdef CHANNEL_PIPES
334329
int has_out_msg;
335330
int has_err_msg;
336-
#endif
337331

338332
/* If the job was killed the channel is not expected to work anymore. */
339333
if (channel->ch_job_killed && channel->ch_job == NULL)
@@ -348,24 +342,16 @@ channel_still_useful(channel_T *channel)
348342
has_sock_msg = channel->ch_part[PART_SOCK].ch_fd != INVALID_FD
349343
|| channel->ch_part[PART_SOCK].ch_head.rq_next != NULL
350344
|| channel->ch_part[PART_SOCK].ch_json_head.jq_next != NULL;
351-
#ifdef CHANNEL_PIPES
352345
has_out_msg = channel->ch_part[PART_OUT].ch_fd != INVALID_FD
353346
|| channel->ch_part[PART_OUT].ch_head.rq_next != NULL
354347
|| channel->ch_part[PART_OUT].ch_json_head.jq_next != NULL;
355348
has_err_msg = channel->ch_part[PART_ERR].ch_fd != INVALID_FD
356349
|| channel->ch_part[PART_ERR].ch_head.rq_next != NULL
357350
|| channel->ch_part[PART_ERR].ch_json_head.jq_next != NULL;
358-
#endif
359351
return (channel->ch_callback != NULL && (has_sock_msg
360-
#ifdef CHANNEL_PIPES
361-
|| has_out_msg || has_err_msg
362-
#endif
363-
))
364-
#ifdef CHANNEL_PIPES
352+
|| has_out_msg || has_err_msg))
365353
|| (channel->ch_part[PART_OUT].ch_callback != NULL && has_out_msg)
366-
|| (channel->ch_part[PART_ERR].ch_callback != NULL && has_err_msg)
367-
#endif
368-
;
354+
|| (channel->ch_part[PART_ERR].ch_callback != NULL && has_err_msg);
369355
}
370356

371357
/*
@@ -507,12 +493,10 @@ channel_gui_register(channel_T *channel)
507493
{
508494
if (channel->CH_SOCK_FD != INVALID_FD)
509495
channel_gui_register_one(channel, PART_SOCK);
510-
# ifdef CHANNEL_PIPES
511496
if (channel->CH_OUT_FD != INVALID_FD)
512497
channel_gui_register_one(channel, PART_OUT);
513498
if (channel->CH_ERR_FD != INVALID_FD)
514499
channel_gui_register_one(channel, PART_ERR);
515-
# endif
516500
}
517501

518502
/*
@@ -557,14 +541,8 @@ channel_gui_unregister(channel_T *channel)
557541
{
558542
int part;
559543

560-
#ifdef CHANNEL_PIPES
561544
for (part = PART_SOCK; part < PART_IN; ++part)
562-
#else
563-
part = PART_SOCK;
564-
#endif
565-
{
566545
channel_gui_unregister_one(channel, part);
567-
}
568546
}
569547

570548
#endif
@@ -842,7 +820,6 @@ channel_open(
842820
return channel;
843821
}
844822

845-
#if defined(CHANNEL_PIPES) || defined(PROTO)
846823
static void
847824
may_close_part(sock_T *fd)
848825
{
@@ -884,7 +861,6 @@ channel_set_pipes(channel_T *channel, sock_T in, sock_T out, sock_T err)
884861
# endif
885862
}
886863
}
887-
#endif
888864

889865
/*
890866
* Sets the job the channel is associated with and associated options.
@@ -1897,10 +1873,7 @@ may_invoke_callback(channel_T *channel, int part)
18971873
channel_can_write_to(channel_T *channel)
18981874
{
18991875
return channel != NULL && (channel->CH_SOCK_FD != INVALID_FD
1900-
#ifdef CHANNEL_PIPES
1901-
|| channel->CH_IN_FD != INVALID_FD
1902-
#endif
1903-
);
1876+
|| channel->CH_IN_FD != INVALID_FD);
19041877
}
19051878

19061879
/*
@@ -1911,12 +1884,9 @@ channel_can_write_to(channel_T *channel)
19111884
channel_is_open(channel_T *channel)
19121885
{
19131886
return channel != NULL && (channel->CH_SOCK_FD != INVALID_FD
1914-
#ifdef CHANNEL_PIPES
19151887
|| channel->CH_IN_FD != INVALID_FD
19161888
|| channel->CH_OUT_FD != INVALID_FD
1917-
|| channel->CH_ERR_FD != INVALID_FD
1918-
#endif
1919-
);
1889+
|| channel->CH_ERR_FD != INVALID_FD);
19201890
}
19211891

19221892
/*
@@ -1951,11 +1921,9 @@ channel_close(channel_T *channel, int invoke_close_cb)
19511921
sock_close(channel->CH_SOCK_FD);
19521922
channel->CH_SOCK_FD = INVALID_FD;
19531923
}
1954-
#if defined(CHANNEL_PIPES)
19551924
may_close_part(&channel->CH_IN_FD);
19561925
may_close_part(&channel->CH_OUT_FD);
19571926
may_close_part(&channel->CH_ERR_FD);
1958-
#endif
19591927

19601928
if (invoke_close_cb && channel->ch_close_cb != NULL)
19611929
{
@@ -2036,10 +2004,8 @@ channel_clear(channel_T *channel)
20362004
{
20372005
ch_log(channel, "Clearing channel");
20382006
channel_clear_one(channel, PART_SOCK);
2039-
#ifdef CHANNEL_PIPES
20402007
channel_clear_one(channel, PART_OUT);
20412008
channel_clear_one(channel, PART_ERR);
2042-
#endif
20432009
vim_free(channel->ch_callback);
20442010
channel->ch_callback = NULL;
20452011
vim_free(channel->ch_close_cb);
@@ -2357,11 +2323,7 @@ channel_fd2channel(sock_T fd, int *partp)
23572323
for (channel = first_channel; channel != NULL;
23582324
channel = channel->ch_next)
23592325
{
2360-
# ifdef CHANNEL_PIPES
23612326
for (part = PART_SOCK; part < PART_IN; ++part)
2362-
# else
2363-
part = PART_SOCK;
2364-
# endif
23652327
if (channel->ch_part[part].ch_fd == fd)
23662328
{
23672329
*partp = part;
@@ -2386,13 +2348,8 @@ channel_handle_events(void)
23862348

23872349
for (channel = first_channel; channel != NULL; channel = channel->ch_next)
23882350
{
2389-
# ifdef CHANNEL_PIPES
23902351
/* check the socket and pipes */
23912352
for (part = PART_SOCK; part <= PART_ERR; ++part)
2392-
# else
2393-
/* only check the socket */
2394-
part = PART_SOCK;
2395-
# endif
23962353
{
23972354
fd = channel->ch_part[part].ch_fd;
23982355
if (fd != INVALID_FD && channel_wait(channel, fd, 0) == OK)
@@ -2471,11 +2428,7 @@ channel_poll_setup(int nfd_in, void *fds_in)
24712428

24722429
for (channel = first_channel; channel != NULL; channel = channel->ch_next)
24732430
{
2474-
# ifdef CHANNEL_PIPES
24752431
for (part = PART_SOCK; part < PART_IN; ++part)
2476-
# else
2477-
part = PART_SOCK;
2478-
# endif
24792432
{
24802433
if (channel->ch_part[part].ch_fd != INVALID_FD)
24812434
{
@@ -2505,11 +2458,7 @@ channel_poll_check(int ret_in, void *fds_in)
25052458

25062459
for (channel = first_channel; channel != NULL; channel = channel->ch_next)
25072460
{
2508-
# ifdef CHANNEL_PIPES
25092461
for (part = PART_SOCK; part < PART_IN; ++part)
2510-
# else
2511-
part = PART_SOCK;
2512-
# endif
25132462
{
25142463
int idx = channel->ch_part[part].ch_poll_idx;
25152464

@@ -2539,11 +2488,7 @@ channel_select_setup(int maxfd_in, void *rfds_in)
25392488

25402489
for (channel = first_channel; channel != NULL; channel = channel->ch_next)
25412490
{
2542-
# ifdef CHANNEL_PIPES
25432491
for (part = PART_SOCK; part < PART_IN; ++part)
2544-
# else
2545-
part = PART_SOCK;
2546-
# endif
25472492
{
25482493
sock_T fd = channel->ch_part[part].ch_fd;
25492494

@@ -2572,11 +2517,7 @@ channel_select_check(int ret_in, void *rfds_in)
25722517

25732518
for (channel = first_channel; channel != NULL; channel = channel->ch_next)
25742519
{
2575-
# ifdef CHANNEL_PIPES
25762520
for (part = PART_SOCK; part < PART_IN; ++part)
2577-
# else
2578-
part = PART_SOCK;
2579-
# endif
25802521
{
25812522
sock_T fd = channel->ch_part[part].ch_fd;
25822523

@@ -2657,11 +2598,9 @@ channel_parse_messages(void)
26572598
continue;
26582599
}
26592600
}
2660-
#ifdef CHANNEL_PIPES
26612601
if (part < PART_ERR)
26622602
++part;
26632603
else
2664-
#endif
26652604
{
26662605
channel = channel->ch_next;
26672606
part = PART_SOCK;
@@ -2692,11 +2631,7 @@ set_ref_in_channel(int copyID)
26922631

26932632
for (channel = first_channel; channel != NULL; channel = channel->ch_next)
26942633
{
2695-
#ifdef CHANNEL_PIPES
26962634
for (part = PART_SOCK; part < PART_IN; ++part)
2697-
#else
2698-
part = PART_SOCK;
2699-
#endif
27002635
{
27012636
jsonq_T *head = &channel->ch_part[part].ch_json_head;
27022637
jsonq_T *item = head->jq_next;
@@ -2723,10 +2658,8 @@ set_ref_in_channel(int copyID)
27232658
int
27242659
channel_part_send(channel_T *channel)
27252660
{
2726-
#ifdef CHANNEL_PIPES
27272661
if (channel->CH_SOCK_FD == INVALID_FD)
27282662
return PART_IN;
2729-
#endif
27302663
return PART_SOCK;
27312664
}
27322665

@@ -2736,10 +2669,8 @@ channel_part_send(channel_T *channel)
27362669
int
27372670
channel_part_read(channel_T *channel)
27382671
{
2739-
#ifdef CHANNEL_PIPES
27402672
if (channel->CH_SOCK_FD == INVALID_FD)
27412673
return PART_OUT;
2742-
#endif
27432674
return PART_SOCK;
27442675
}
27452676

@@ -2764,4 +2695,4 @@ channel_get_timeout(channel_T *channel, int part)
27642695
return channel->ch_part[part].ch_timeout;
27652696
}
27662697

2767-
#endif /* FEAT_CHANNEL */
2698+
#endif /* FEAT_JOB_CHANNEL */

src/config.h.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -432,7 +432,7 @@
432432
#undef FEAT_NETBEANS_INTG
433433

434434
/* Define if you want to include process communication. */
435-
#undef FEAT_CHANNEL
435+
#undef FEAT_JOB_CHANNEL
436436

437437
/* Define default global runtime path */
438438
#undef RUNTIME_GLOBAL

src/configure.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2014,7 +2014,7 @@ if test "$enable_netbeans" = "yes"; then
20142014
AC_SUBST(NETBEANS_OBJ)
20152015
fi
20162016
if test "$enable_channel" = "yes"; then
2017-
AC_DEFINE(FEAT_CHANNEL)
2017+
AC_DEFINE(FEAT_JOB_CHANNEL)
20182018
CHANNEL_SRC="channel.c"
20192019
AC_SUBST(CHANNEL_SRC)
20202020
CHANNEL_OBJ="objects/channel.o"

0 commit comments

Comments
 (0)