@@ -993,8 +993,8 @@ errno_t ImageStreamIO_image_sizing(IMAGE *image, uint8_t* map)
993
993
994
994
// To here image->md->shared must be 1 i.e. not process-local memory
995
995
// Start accumulating size of, and pointers to, data in shmim file
996
- image -> memsize = sizeof (IMAGE_METADATA );
997
- map += sizeof (IMAGE_METADATA );
996
+ image -> memsize = ROUND_UP_8 ( sizeof (IMAGE_METADATA ) );
997
+ map += ROUND_UP_8 ( sizeof (IMAGE_METADATA ) );
998
998
// image->md will be assigned elsewhere
999
999
1000
1000
@@ -1003,8 +1003,8 @@ errno_t ImageStreamIO_image_sizing(IMAGE *image, uint8_t* map)
1003
1003
// image on CPU
1004
1004
image ->
1005
1005
array .raw = map ;
1006
- map += image -> md -> imdatamemsize ;
1007
- image -> memsize += image -> md -> imdatamemsize ;
1006
+ map += ROUND_UP_8 ( image -> md -> imdatamemsize ) ;
1007
+ image -> memsize += ROUND_UP_8 ( image -> md -> imdatamemsize ) ;
1008
1008
}
1009
1009
else
1010
1010
{
@@ -1013,75 +1013,75 @@ errno_t ImageStreamIO_image_sizing(IMAGE *image, uint8_t* map)
1013
1013
}
1014
1014
1015
1015
image -> kw = (IMAGE_KEYWORD * )(map );
1016
- map += sizeof (IMAGE_KEYWORD ) * image -> md -> NBkw ;
1017
- image -> memsize += sizeof (IMAGE_KEYWORD ) * image -> md -> NBkw ;
1016
+ map += ROUND_UP_8 ( sizeof (IMAGE_KEYWORD ) * image -> md -> NBkw ) ;
1017
+ image -> memsize += ROUND_UP_8 ( sizeof (IMAGE_KEYWORD ) * image -> md -> NBkw ) ;
1018
1018
1019
1019
1020
1020
image -> semfile = (SEMFILEDATA * )(map );
1021
- map += sizeof (SEMFILEDATA ) * image -> md -> sem ;
1022
- image -> memsize += sizeof (SEMFILEDATA ) * image -> md -> sem ;
1021
+ map += ROUND_UP_8 ( sizeof (SEMFILEDATA ) * image -> md -> sem ) ;
1022
+ image -> memsize += ROUND_UP_8 ( sizeof (SEMFILEDATA ) * image -> md -> sem ) ;
1023
1023
1024
1024
image -> semlog = (sem_t * )(map );
1025
- map += sizeof (sem_t );
1026
- image -> memsize += sizeof (sem_t ); // for semlog
1025
+ map += ROUND_UP_8 ( sizeof (sem_t ) );
1026
+ image -> memsize += ROUND_UP_8 ( sizeof (sem_t ) ); // for semlog
1027
1027
1028
1028
// One read PID array, one write PID array
1029
1029
image ->
1030
1030
semReadPID = (pid_t * )(map );
1031
- map += sizeof (pid_t ) * image -> md -> sem ;
1032
- image -> memsize += sizeof (pid_t ) * image -> md -> sem ;
1031
+ map += ROUND_UP_8 ( sizeof (pid_t ) * image -> md -> sem ) ;
1032
+ image -> memsize += ROUND_UP_8 ( sizeof (pid_t ) * image -> md -> sem ) ;
1033
1033
1034
1034
image ->
1035
1035
semWritePID = (pid_t * )(map );
1036
- map += sizeof (pid_t ) * image -> md -> sem ;
1037
- image -> memsize += sizeof (pid_t ) * image -> md -> sem ;
1036
+ map += ROUND_UP_8 ( sizeof (pid_t ) * image -> md -> sem ) ;
1037
+ image -> memsize += ROUND_UP_8 ( sizeof (pid_t ) * image -> md -> sem ) ;
1038
1038
1039
1039
// Calculate space for semctrl integers
1040
1040
image -> semctrl = (uint32_t * )(map );
1041
- map += sizeof (uint32_t ) * image -> md -> sem ;
1042
- image -> memsize += sizeof (uint32_t ) * image -> md -> sem ;
1041
+ map += ROUND_UP_8 ( sizeof (uint32_t ) * image -> md -> sem ) ;
1042
+ image -> memsize += ROUND_UP_8 ( sizeof (uint32_t ) * image -> md -> sem ) ;
1043
1043
1044
1044
// Calculate space for semstatus integers
1045
1045
image ->
1046
1046
semstatus = (uint32_t * )(map );
1047
- map += sizeof (uint32_t ) * image -> md -> sem ;
1048
- image -> memsize += sizeof (uint32_t ) * image -> md -> sem ;
1047
+ map += ROUND_UP_8 ( sizeof (uint32_t ) * image -> md -> sem ) ;
1048
+ image -> memsize += ROUND_UP_8 ( sizeof (uint32_t ) * image -> md -> sem ) ;
1049
1049
1050
1050
image ->
1051
1051
streamproctrace = (STREAM_PROC_TRACE * )(map );
1052
- map += sizeof (STREAM_PROC_TRACE ) * image -> md -> NBproctrace ;
1053
- image -> memsize += sizeof (STREAM_PROC_TRACE ) * image -> md -> NBproctrace ;
1052
+ map += ROUND_UP_8 ( sizeof (STREAM_PROC_TRACE ) * image -> md -> NBproctrace ) ;
1053
+ image -> memsize += ROUND_UP_8 ( sizeof (STREAM_PROC_TRACE ) * image -> md -> NBproctrace ) ;
1054
1054
1055
1055
if ((image -> md -> imagetype & 0xF000F ) ==
1056
1056
(CIRCULAR_BUFFER | ZAXIS_TEMPORAL )) // Circular Buffer
1057
1057
{
1058
1058
image ->
1059
1059
atimearray = (struct timespec * )(map );
1060
- map += sizeof (struct timespec ) * image -> md -> size [2 ];
1061
- image -> memsize += sizeof (struct timespec ) * image -> md -> size [2 ];
1060
+ map += ROUND_UP_8 ( sizeof (struct timespec ) * image -> md -> size [2 ]) ;
1061
+ image -> memsize += ROUND_UP_8 ( sizeof (struct timespec ) * image -> md -> size [2 ]) ;
1062
1062
1063
1063
image ->
1064
1064
writetimearray = (struct timespec * )(map );
1065
- map += sizeof (struct timespec ) * image -> md -> size [2 ];
1066
- image -> memsize += sizeof (struct timespec ) * image -> md -> size [2 ];
1065
+ map += ROUND_UP_8 ( sizeof (struct timespec ) * image -> md -> size [2 ]) ;
1066
+ image -> memsize += ROUND_UP_8 ( sizeof (struct timespec ) * image -> md -> size [2 ]) ;
1067
1067
1068
1068
image -> cntarray = (uint64_t * )(map );
1069
- map += sizeof (uint64_t ) * image -> md -> size [2 ];
1070
- image -> memsize += sizeof (uint64_t ) * image -> md -> size [2 ];
1069
+ map += ROUND_UP_8 ( sizeof (uint64_t ) * image -> md -> size [2 ]) ;
1070
+ image -> memsize += ROUND_UP_8 ( sizeof (uint64_t ) * image -> md -> size [2 ]) ;
1071
1071
}
1072
1072
1073
1073
// Fast circular buffer metadata
1074
1074
image ->
1075
1075
CircBuff_md = (CBFRAMEMD * )(map );
1076
- map += sizeof (CBFRAMEMD ) * image -> md -> CBsize ;
1077
- image -> memsize += sizeof (CBFRAMEMD ) * image -> md -> CBsize ;
1076
+ map += ROUND_UP_8 ( sizeof (CBFRAMEMD ) * image -> md -> CBsize ) ;
1077
+ image -> memsize += ROUND_UP_8 ( sizeof (CBFRAMEMD ) * image -> md -> CBsize ) ;
1078
1078
1079
1079
// Fast circular buffer data buffer
1080
1080
if (image -> md -> CBsize > 0 )
1081
1081
{
1082
1082
image -> CBimdata = map ;
1083
- map += image -> md -> imdatamemsize * image -> md -> CBsize ;
1084
- image -> memsize += image -> md -> imdatamemsize * image -> md -> CBsize ;
1083
+ map += ROUND_UP_8 ( image -> md -> imdatamemsize * image -> md -> CBsize ) ;
1084
+ image -> memsize += ROUND_UP_8 ( image -> md -> imdatamemsize * image -> md -> CBsize ) ;
1085
1085
}
1086
1086
else
1087
1087
{
@@ -1092,8 +1092,8 @@ errno_t ImageStreamIO_image_sizing(IMAGE *image, uint8_t* map)
1092
1092
// Write time buffer
1093
1093
image ->
1094
1094
writehist = (FRAMEWRITEMD * )(map );
1095
- map += sizeof (FRAMEWRITEMD ) * IMAGESTRUCT_FRAMEWRITEMDSIZE ;
1096
- image -> memsize += sizeof (FRAMEWRITEMD ) * IMAGESTRUCT_FRAMEWRITEMDSIZE ;
1095
+ map += ROUND_UP_8 ( sizeof (FRAMEWRITEMD ) * IMAGESTRUCT_FRAMEWRITEMDSIZE ) ;
1096
+ image -> memsize += ROUND_UP_8 ( sizeof (FRAMEWRITEMD ) * IMAGESTRUCT_FRAMEWRITEMDSIZE ) ;
1097
1097
# endif
1098
1098
1099
1099
return IMAGESTREAMIO_SUCCESS ;
0 commit comments